电话:0731-83595998
导航

hibernate中获取关联属性为null的方式

来源: 2017-12-23 14:33

 百度广告

   在Hibernate中获取有关联关系的pojo。我是指例如一个User(用户)拥有一个many-to-one的属性Unit(单位),但是有时有些用户的Unit属性为空,如果按单位查询用户的时候那些单位为null的用户就会被遗漏,如何调取呢?这本来是很简单的,但是我想当然的使用了Restriction.eq,但是不行,后来看了手册才发现应该使用Restrictions.isNul。下面是Test代码...
  /** *//**
   * 因为执行的SQL为:(select * ) from USER_INF this_ where this_.UNIT_ID=''
   */
  public void getUsersWhosUnitIsNullByRestrictionsEqNullUnit() {
    dc.add(Restrictions.eq("unit", null));
    Criteria cri = dc.getExecutableCriteria(session);
  }
  /** *//**
   * 错误类型为:org.hibernate.TransientObjectException
   */
  @Test(expected=TransientObjectException.class)
    Unit unit = new Unit();
    DetachedCriteria dc = DetachedCriteria.forClass(User.class);

    log.debug("getUsersWhosUnitIsNull():" + cri.list().size());

   * 为了获取一个unit为null的用户正确的方法应该是使用Restrictions.isNull方法
   * 这才是我们所希望的结果
  @Test
    DetachedCriteria dc = DetachedCriteria.forClass(User.class);

    log.debug("getUsersWhosUnitIsNullByRestrictionsIsNull():" + cri.list().size());

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端