视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Atitit.Hibernate中Criteria使用总结and关联查询and按照子对象查
2020-11-09 14:44:33 责编:小采
文档

Atitit.Hibernate中Criteria 使用总结and 关联查询 and 按照子对象查询 o9o 1. Criteria,,Criterion ,, 1 2. 主要的对象黑头配置磊个关联,三 1 3. Criteria 黑头配置关联查询了... 2 4. Ati Meata 配置关联 @CriteriaRelt 2 5. 关联createCriteria() 3 6. Cr

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

1. Criteria,,Criterion ,,

Criteria是一种比hql更面向对象的查询方式。Criteria 可使用 Criterion 和 Projection 设置查询条件。可以设置 FetchMode( 联合查询抓取的模式 ) ,设置排序方式,Criteria 还可以设置 FlushModel (冲刷 Session 的方式)和 LockMode (数据库锁模式)。

2. 主要的对象黑头配置磊个关联,三

public class GvPlayRecord

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

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

下载本文
显示全文
专题