runxinzhi.com
首页
百度搜索
Hibernate关联查询
关联查询可分为两种:
A) 实体间有定义关联关系的(一对多,多对一等)
对已定义关联关系的,我们可以使用createAlias()来创建属性的别名,然后引用别名进行条件查询,如:
Criteria criteria = session.createCriteria(Parent.class);
criteria.createAlias("children", "c").add(Expression.eq( "c.name" , childName));
这样进行查询时就可得到关联查询后的Parent对象结果集。
要注意的是,如果在createAlias()之后,又使用了setProjection(如查询总记录数),这样得到的查询结果集中,每个对象 并不是Parent类型,而是一个对象数组(Object[]),里边有一个Parent对象和一个Child对象,需要根据object的类名去判断是 哪个对象。
如果还要恢复默认的结果集状态,需调用
criteria.setResultTransformer(Criteria.ROOT_ENTITY);
B) 实体间未定义关联关系的
对未定义关联关系的,我们需要使用Exist子查询来辅助,如:
Criteria criteria = session.createCriteria(Brother.class, "b");
DetachedCriteria sisCri = DetachedCriteria.forClass(Sister.class, "s");
sisCri.add(Property.forName("s.fName").eqProperty("b.fName"));
criteria.add(Subqueries.exists(sisCri.setProjection(Projections.property("s. id "))));
相关阅读:
Robocode教程4——Robocode的游戏物理
JAVA:获取系统中可用的字体的名字
Robocode游戏规则
Robocode教程2——你的第一个robo,取个好名字哦
Robocode教程1——安装、运行、配置
第二十四章 异常和错误处理 6异常类与模板的关系 简单
第二十四章 异常和错误处理 5异常类的虚函数 简单
第二十三模板 18.4算法类 简单
解决不能通过'/tmp/mysql.sock'连到服务器 简单
第二十四章 异常和错误处理 4创建异常类的成员函数 简单
原文地址:https://www.cnblogs.com/cnjava/p/2623759.html
最新文章
c#对xml的创建、查询
winform壁纸工具:为图片添加当月的日历并设为壁纸 .
c#对PL/SQL查询结果列复制的结果生成指定格式
c#图像灰度化、灰度反转、二值化
c#设置xml内容不换行;添加属性为xsi:nil="true"的空节点
c#图片添加当前月份的日历
DropDownList根据下拉项的Text排序
jquery模板插件jTemplates代替拼html
jQuery编辑器KindEditor4.1.4代码高亮显示设置
对“C#写的简单的日历,窗体输出。”的改写,精简了一半多代码
热门文章
Robocode教程3——Robo机器剖析
JAVA:事件监听器之鼠标监听
JAVA:URL之图像图标
JAVA:URL之String组件
robocode(1)
JAVA:事件监听器之练习
JAVA:图形之利用FontMetrics类居中
JAVA:事件监听器之Button类中的addActionListener(ActionListener l)方法
JAVA:事件监听器之WindowAdapter类(针对窗口事件)
JAVA:事件监听器之键盘监听
Copyright © 2020-2023
润新知