JPA @ElementCollection如何查询?
我正在使用Spring JPA,为了向我的实体发送字符串列表,我正在使用@ElementCollection如下所示。
@ElementCollection
private Map<Integer, String> categories;
当我使用它时,它会生成一个名为this的表,其中包含以下列subscription_categories
subscription(varchar), catergories(varchar) and caterogies_key (int)
如果我在桌面上使用我的SQL工具,我可以通过以下方式很好地查询此表
select `subscription_categories`.`subscription` from `subscription_categories` where `subscription_categories`.`categories`='TESTING';
但是,当我尝试在Spring Data中使用它时,它会失败,并带有“...未映射“错误
以下是一些尝试:
@Query("select s.subscription from subscription_categories s where s.categories = ?1")
List<Subscription> findUsernameByCategory(String category);
@Query("select s.subscription from categories s where s.categories = ?1")
List<Subscription> findUsernameByCategory(String category);
两者都返回相同的错误。
由以下原因引起:org.hibernate.hql.internal.ast.QuerySyntaxException: categories is not mapped
我的问题是这样的:
如何查询@ElementCollection创建的表?