千家信息网

如何获取Hibernate关联关系

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍了如何获取Hibernate关联关系,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。获取Hibernate关联关系的po
千家信息网最后更新 2026年11月04日如何获取Hibernate关联关系

这篇文章主要介绍了如何获取Hibernate关联关系,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

获取Hibernate关联关系的pojo。我是指例如一个User(用户)拥有一个many-to-one的属性Unit(单位),但是有时有些用户的Unit属性为空,如果按单位查询用户的时候那些单位为null的用户就会被遗漏,如何调取呢?这本来是很简单的,但是我想当然的使用了Restriction.eq,但是不行,后来看了手册才发现应该使用Restrictions.isNul。

下面是Test代码:

public void getUsersWhosUnitIsNullByRestrictionsEqNullUnit() {  DetachedCriteria dc = DetachedCriteria.forClass(User.class);  dc.add(Restrictions.eq("unit", null));   Criteria cri = dc.getExecutableCriteria(session);  log.debug("getUsersWhosUnitIsNullByRestrictionsEqNullUnit():" + cri.list().size());  }   /** *//**  * 为了获取一个unit为null的用户,如果传入一个id为null的Unit实例则会报错,无法翻译为SQL  * 错误类型为:org.hibernate.TransientObjectException  * 这也不是我们所期望的结果  */  @Ignore  @Test(expected=TransientObjectException.class)  public void getUsersWhosUnitIsNullByRestrictionsEqUnitNullId() {  Unit unit = new Unit();  log.debug(unit.getId());  DetachedCriteria dc = DetachedCriteria.forClass(User.class);  dc.add(Restrictions.eq("unit", unit));   Criteria cri = dc.getExecutableCriteria(session);  log.debug("getUsersWhosUnitIsNull():" + cri.list().size());  }   /** *//**  * 为了获取一个unit为null的用户正确的方法应该是使用Restrictions.isNull方法  * 因为执行的SQL为:(select * ) from USER_INF this_ where this_.UNIT_ID is null  * 这才是我们所希望的结果  */  @Test  public void getUsersWhosUnitIsNullByRestrictionsIsNull() {  DetachedCriteria dc = DetachedCriteria.forClass(User.class);  dc.add(Restrictions.isNull("unit"));   Criteria cri = dc.getExecutableCriteria(session);  log.debug("getUsersWhosUnitIsNullByRestrictionsIsNull():" + cri.list().size());  }

感谢你能够认真阅读完这篇文章,希望小编分享的"如何获取Hibernate关联关系"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

用户 篇文章 关联 单位 属性 方法 结果 不行 想当然 代码 价值 兴趣 同时 实例 手册 时候 更多 朋友 知识 类型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 美国互联网科技巨头监管 互联网最新的科技有限公司 奇酷互联网科技公司 未来的互联网科技 齐家互联网科技有限公司 互联网金融和金融科技 卓越科技互联网 招聘 承德科技产业互联网发展 全球顶尖互联网科技公司 成都铂石互联网科技做什么的 苏州铭阳互联网科技有限公司 洛阳共同富裕互联网科技有限公司 互联网科技的全部知识 长沙互联网科技 国大互联网教育科技有限公司薪资 张召忠谈中国互联网科技 半导体是互联网高科技吗 九思连强互联网电子科技有限公司 互联网硬科技公司 科技互联网行业投资研究 互联网高科技 云信互联网科技有限公司 小马过河互联网科技 互联网巨头投资的硬核科技 华脉科技工业互联网产品 福州新华互联网科技学校 知乎 互联网金融科技展 科技互联网行业投资研究 伍佰万互联网科技是干嘛的 广州全民伙伴互联网科技有限公司
0