JPA/Hibernate-我们不能从实体中检索定义为集合的集合吗?
我有一个实体,如:JPA/Hibernate-我们不能从实体中检索定义为集合的集合吗?,hibernate,jpa,orm,Hibernate,Jpa,Orm,我有一个实体,如: @Entity public class Book{ int bookId; @ManyToMany Set<Page> favoritePages; // getters/setters } 现在,这给了我一个错误 为TypedQuery(页面)指定的类型与查询不兼容 返回类型[接口java.util.Set] 我无法将收藏夹页面的类型更改为列表。如何检索它?如果您没有其他选择,您可以: TypedQuery<Book>
@Entity
public class Book{
int bookId;
@ManyToMany
Set<Page> favoritePages;
// getters/setters
}
现在,这给了我一个错误
为TypedQuery(页面)指定的类型与查询不兼容
返回类型[接口java.util.Set]
我无法将收藏夹页面的类型更改为列表。如何检索它?如果您没有其他选择,您可以:
TypedQuery<Book> query = "from Book where bookId=:id";
query.setParameter("id",2);
Set<Page> pages = query.getSingleResult().getFavoritePages();
TypedQuery query=“from Book where bookId=:id”;
query.setParameter(“id”,2);
Set pages=query.getSingleResult().getFavoritePages();
但是它也有它的缺点,因为您只对查询喜爱的页面感兴趣。“返回新的HashSet(query.getResultList());”我认为这不会起作用,因为错误不在resultList的强制转换中,而是在查询的执行中
TypedQuery<Book> query = "from Book where bookId=:id";
query.setParameter("id",2);
Set<Page> pages = query.getSingleResult().getFavoritePages();