将SQL查询转换为Hibernate条件表达式
将此表达式转换为条件表达式时遇到问题:将SQL查询转换为Hibernate条件表达式,sql,hibernate,criteria,restriction,Sql,Hibernate,Criteria,Restriction,将此表达式转换为条件表达式时遇到问题: SELECT profile_profiles.profile_sup_id FROM profil INNER JOIN profile_profiles ON profile_profiles.profile_id = profil.id AND profil.id = 4 有人能帮忙吗 我有一张“Profil”多对多和refelxive表格 剖面1---剖面图\剖面图---剖面图2 公共类Profil实现可序列化{ 私有
SELECT profile_profiles.profile_sup_id
FROM profil
INNER JOIN profile_profiles ON profile_profiles.profile_id = profil.id
AND profil.id = 4
有人能帮忙吗
我有一张“Profil”多对多和refelxive表格
剖面1---剖面图\剖面图---剖面图2
公共类Profil实现可序列化{
私有静态最终长serialVersionUID=1L;
私人长id;
私串诽谤;
私有集配置文件=新哈希集(0);
...
}
hbm
当然,上面的操作应该从连接表到概要文件表进行额外的连接,但是它应该返回与SQL查询相同的结果
这样,上面的操作应该从连接表到配置文件表进行额外的连接,但它应该返回与SQL查询相同的结果。非常感谢@JB Nizet 我昨天确实找到了解决办法:
hibernateCriteria.createCriteria("profil").createAlias("profiles", "ps").add( Restrictions.eq("ps.id",superieurCriteria.getProfilId()) ) ;
和平。非常感谢@JB Nizet 我昨天确实找到了解决办法:
hibernateCriteria.createCriteria("profil").createAlias("profiles", "ps").add( Restrictions.eq("ps.id",superieurCriteria.getProfilId()) ) ;
和平。是一对多还是多对多的关系?您是否在hibernate配置中设置了这两个类之间的关联?如果你不相信,我不相信你想要的是可能的。那么你可以参考JB Nizet的答案,我想写完全相同的东西:)这是一对多还是多对多的关系?您是否在hibernate配置中设置了这两个类之间的关联?如果你不相信,我不相信你想要的是可能的。那么你可以参考JB Nizet的答案,我想写完全相同的东西:)
Criteria c = session.createCriteria(Profil.class, "profil");
c.createAlias("profil.profiles", "supProfil");
c.add(Restrictions.eq("profil.id", 4);
c.setProjection(Projections.property("supProfil.id"));
hibernateCriteria.createCriteria("profil").createAlias("profiles", "ps").add( Restrictions.eq("ps.id",superieurCriteria.getProfilId()) ) ;