Atitit.Hibernate中Criteria 使用总结and 关联查询 and 按照子对象查询 o9o
2014-09-28 21:29
561 查看
Atitit.Hibernate中Criteria 使用总结and 关联查询 and 按照子对象查询 o9o
1. Criteria,,Criterion ,, 1
<2. 主要的对象黑头配置磊个关联,三 1
3. Criteria 黑头配置关联查询了... 2
4. Ati Meata 配置关联 @CriteriaRelt 2
5. 关联createCriteria() 3
6. Criteria的使用outline 4
7. 参考:: 5
Equipment eq;
/**
// attilax 老哇的爪子 5_u_8 o9n
* @return the eq
*/
@ManyToOne
@NotFound(action=NotFoundAction.IGNORE)
@JoinColumn(name = "equipment_id", insertable = false,updatable = false)
@RemoteProperty
public Equipment getEq() {
return eq;
}
Criteria c = new BaseSvs(). getSession().createCriteria(GvPlayRecord.class);
SimpleExpression se= Restrictions.eq("eq.dpt.groupid", 114 );
//c.add(se);
List list = c.list();
三说新不上 eq.dpt.groupid 属性...好像直黑头的配置不生效..
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
Criteria eqCri=c.createCriteria("eq");
eqCri.add(Restrictions.eq("departId", 117 ));
中间才行兰...
Equipment eq;
框架处理code
//yash condition process. def
SqlAti_Criteria sql=new SqlAti_Criteria();
sql.reqMap=QueryPropertyssMap;
sql.Criteria=c;
sql.setCls(cls). addWhereExp(fld);
@SuppressWarnings("all") public SqlAti addWhereExp(Field fld) {
CriteriaRelt an=fld.getAnnotation(CriteriaRelt.class);
if(an!=null)
{
Criteria crSub=this.Criteria.createCriteria(fld.getName());
crSub.add( Restrictions.eq(an.fld(), this.reqMap.get(an.fld())));
}
return this;
}
5.
你可以使用createCriteria()非常容易的在互相关联的实体间建立 约束。
List cats = sess.createCriteria(Cat.class)
.add( Restrictions.like("name", "F%")
.createCriteria("kittens")
.add( Restrictions.like("name", "F%")
.list();
注意第二个 createCriteria()返回一个新的 Criteria实例,该实例引用kittens 集合中的元素。
接下来,替换形态在某些情况下也是很有用的。
List cats = sess.createCriteria(Cat.class)
.createAlias("kittens", "kt")
.createAlias("mate", "mt")
.add( Restrictions.eqProperty("kt.name", "mt.name") )
.list();
(createAlias()并不创建一个新的 Criteria实例。)
Cat实例所保存的之前两次查询所返回的kittens集合是 没有被条件预过滤的。如果你希望只获得
符合条件的kittens, 你必须使用returnMaps()。
List cats = sess.createCriteria(Cat.class)
.createCriteria("kittens", "kt")
.add( Restrictions.eq("name", "F%") )
.returnMaps()
.list();
Iterator iter = cats.iterator();
while ( iter.hasNext() ) {
Map map = (Map) iter.next();
Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);
Cat kitten = (Cat) map.get("kt");
}
6. 6. 查询示例
org.hibernate.criterion.Example类允许你通过一个给定实例 构建一个条件查询。
7. 7. 投影(Projections)、聚合(aggregation)和分组(grouping)
8. 8. 离线(detached)查询和子查询
1. Criteria,,Criterion ,, 1
<2. 主要的对象黑头配置磊个关联,三 1
3. Criteria 黑头配置关联查询了... 2
4. Ati Meata 配置关联 @CriteriaRelt 2
5. 关联createCriteria() 3
6. Criteria的使用outline 4
7. 参考:: 5
1. Criteria,,Criterion ,,
Criteria是一种比hql更面向对象的查询方式。Criteria 可使用 Criterion 和 Projection 设置查询条件。可以设置 FetchMode( 联合查询抓取的模式 ) ,设置排序方式,Criteria 还可以设置 FlushModel (冲刷 Session 的方式)和 LockMode (数据库锁模式)。2. 主要的对象黑头配置磊个关联,三
public class GvPlayRecordEquipment eq;
/**
// attilax 老哇的爪子 5_u_8 o9n
* @return the eq
*/
@ManyToOne
@NotFound(action=NotFoundAction.IGNORE)
@JoinColumn(name = "equipment_id", insertable = false,updatable = false)
@RemoteProperty
public Equipment getEq() {
return eq;
}
Criteria c = new BaseSvs(). getSession().createCriteria(GvPlayRecord.class);
SimpleExpression se= Restrictions.eq("eq.dpt.groupid", 114 );
//c.add(se);
List list = c.list();
三说新不上 eq.dpt.groupid 属性...好像直黑头的配置不生效..
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
3. Criteria 黑头配置关联查询了...
Criteria c = new BaseSvs(). getSession().createCriteria(GvPlayRecord.class);Criteria eqCri=c.createCriteria("eq");
eqCri.add(Restrictions.eq("departId", 117 ));
中间才行兰...
4. Ati Meata 配置关联 @CriteriaRelt
@CriteriaRelt(fld="departId")Equipment eq;
框架处理code
//yash condition process. def
SqlAti_Criteria sql=new SqlAti_Criteria();
sql.reqMap=QueryPropertyssMap;
sql.Criteria=c;
sql.setCls(cls). addWhereExp(fld);
@SuppressWarnings("all") public SqlAti addWhereExp(Field fld) {
CriteriaRelt an=fld.getAnnotation(CriteriaRelt.class);
if(an!=null)
{
Criteria crSub=this.Criteria.createCriteria(fld.getName());
crSub.add( Restrictions.eq(an.fld(), this.reqMap.get(an.fld())));
}
return this;
}
5. 关联createCriteria()
4.5.
你可以使用createCriteria()非常容易的在互相关联的实体间建立 约束。
List cats = sess.createCriteria(Cat.class)
.add( Restrictions.like("name", "F%")
.createCriteria("kittens")
.add( Restrictions.like("name", "F%")
.list();
注意第二个 createCriteria()返回一个新的 Criteria实例,该实例引用kittens 集合中的元素。
接下来,替换形态在某些情况下也是很有用的。
List cats = sess.createCriteria(Cat.class)
.createAlias("kittens", "kt")
.createAlias("mate", "mt")
.add( Restrictions.eqProperty("kt.name", "mt.name") )
.list();
(createAlias()并不创建一个新的 Criteria实例。)
Cat实例所保存的之前两次查询所返回的kittens集合是 没有被条件预过滤的。如果你希望只获得
符合条件的kittens, 你必须使用returnMaps()。
List cats = sess.createCriteria(Cat.class)
.createCriteria("kittens", "kt")
.add( Restrictions.eq("name", "F%") )
.returnMaps()
.list();
Iterator iter = cats.iterator();
while ( iter.hasNext() ) {
Map map = (Map) iter.next();
Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);
Cat kitten = (Cat) map.get("kt");
}
6. Criteria的使用outline
5. 动态关联抓取6. 6. 查询示例
org.hibernate.criterion.Example类允许你通过一个给定实例 构建一个条件查询。
7. 7. 投影(Projections)、聚合(aggregation)和分组(grouping)
8. 8. 离线(detached)查询和子查询
7. 参考::
Hibernate中Criteria的完整用法 - LifeNote - BlogJava.htm相关文章推荐
- Atitit.Hibernate中Criteria 使用总结and 关联查询 and 按照子对象查询 o9o
- Atitit.Hibernate于Criteria 使用汇总and 关系查询 and 按照子对象查询 o9o
- 关于Hibernate中fatch=eager的bag集合(一个java List)使用Criteria查询出现重复记录的问题
- 加强hibernate的criteria查询中的使用Example查询的
- atitit.ajax bp dwr 3.的注解方式配置使用流程总结 VO9o.....
- atitit.手动配置列表文件的选择and 数据的层次结构 attilax总结最佳实践--yaml
- Atitit. BigConfirmTips 控件 大数据量提示确认控件的原理and总结O9
- Hibernate中Criteria的使用(条件查询)
- Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php
- atitit.ajax bp dwr 3.的注解方式配置使用流程总结 VO9o.....
- Hibernate中使用Criteria查询实例
- Hibernate使用DetachedCriteria和Criteria查询
- Hibernate使用Criteria实现查询
- Hibernate用Criteria查询时使用Distinct方法去除重复数据
- 灵活使用Hibernate的查询对象DetachedCriteria
- Hibernate使用Criteria实现查询
- atitit。 hb Hibernate sql 查询使用
- atitit。 hb Hibernate sql 查询使用
- atitit.自己动手开发编译器and解释器(2) ------语法分析,语义分析,代码生成--attilax总结
- Atitit. BigConfirmTips 控件 大数据量提示确认控件的原理and总结O9