如何获取Hibernate关联关系
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章主要介绍了如何获取Hibernate关联关系,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。获取Hibernate关联关系的po
千家信息网最后更新 2025年01月22日如何获取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安全错误
数据库的锁怎样保障安全
骑马视频软件开发
增删改查java需要写数据库吗
网络安全的预防跟应对
南京泰康人寿软件开发怎么样
杨浦区创新数据库服务制品价格
免费网络安全教学设计教案
南邮数据库和网络技术
爱心岛服务器
华为网络技术训练题
网络安全南京
网络安全与实践试题
PHP产品软件开发工程师
互联网科技型企业排名
天翱服务器北京代理商
财富互联网科技大会
租境外服务器的网站
软件开发项目质量目标
邯郸net软件开发哪家好
2030网络安全培训答案
安装为什么会连接数据库失败
软件开发真的是996吗
ipad 用于软件开发
皇族网络技术的群号
网络安全教育用网常识
前端上传工程到服务器
山东大学网络安全学院在哪
国外网络安全管理平台
手机软件开发需要会哪些
什么是关系数据库有什么优点
面向2030的网络技术支持