Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JPA/Hibernate-我们不能从实体中检索定义为集合的集合吗?_Hibernate_Jpa_Orm - Fatal编程技术网

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();