我需要转换此查询:
select * FROM table_a a
INNER JOIN (SELECT column1, column2, column3, count(*) FROM table_a a2 group by column1, column2, column3 having count(*) > 1) sub
ON aa.column1 = sub.column1 and a.column2 = sub.column2 and a.column3 = sub.column3 WHERE a.column4 = XXXX;
休眠标准。 像这样的东西:
criteria.setProjection(
Projections.projectionList()
.add(Projections.groupProperty(Entity.Attributs.column1.name()))
.add(Projections.groupProperty(Entity.Attributs.column2.name().concat(".").concat(ManyToOneEntity.Attributs.propName.name()))));
我的问题是我一直在阅读您不能将having子句与休眠条件一起使用。
有什么解决方法吗?我真的需要使用休眠条件。
编辑:
我发现了一种可能可以用“休眠标准”编写的新方法:
select a.* FROM table_a a, (SELECT column1, column2, column3, count(*) as counter FROM table_a a2 group by column1, column2, column3) sub
WHERE a.column1 = sub.column1 and a.column2 = sub.column2 and a.column3 = sub.column3 and counter > 1 and a.column4 = XXXX;
但是,我还是做不到。帮助吗?