Home > Database > Mysql Tutorial > Atitit.Hibernate中Criteria使用总结and关联查询and按照子对象查

Atitit.Hibernate中Criteria使用总结and关联查询and按照子对象查

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 16:03:32
Original
978 people have browsed it

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

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

我要啦免费统计
Related labels:
use
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template