我有两个域,如下
WishList{
int id;
@ManyToOne
Item item;
}
Item{
int id;
int productCategory;
String productName;
}
现在假设我有产品
(1,1,Mobile )
(2,2,Microwave)
(3,3,flashDrive)
(4,1, Monitor)
现在如何在 WishList
中按查询进行分组,以便我得到
(1,1,Mobile )
(4,1, Monitor)
(2,2,Microwave)
(3,3,flashDrive)
我正在使用Hibernate Criteria
如何做到这一点?
最佳答案
如果您正在使用 hibernate Criteria
您可以创建alias
对于 Item
就像
Criteria criteria = hibernetSession.createCriteria(WishList.class);
criteria.createAlias("item", "itemAlias")
.setProjection(Projections.projectionList()
.add(Projections.property("id"),"id")
.add(Projections.property("itemAlias.id"),"itemAlias.id")
.add(Projections.property("itemAlias.productCategory"),"itemAlias.productCategory")
.add(Projections.property("itemAlias.productName"),"itemAlias.productName")
.add(Projections.groupProperty("itemAlias.productName")))
.setResultTransformer(Transformers.aliasToBean(WishList.class));
List<WishList> itemList = criteria.list();
并使用Projections
对于 grouping
关于java - Hibernate 父表的分组依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21848237/