Atitit.Hibernate中Criteria 使用总结and 关联查询 and 按照子对象查询 o9o
Atitit.Hibernate中Criteria 使用总结and 关联查询 and 按照子对象查询 o9o
4. Ati Meata 配置关联 @CriteriaRelt 2
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");
));
中间才行兰...
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
Atitit.Hibernate于Criteria 使用总结and 关联查询 and 依照子对象查询 o9o 1. Criteria,,Criterion ,, 1 <2. 基本的对象黑头配置磊 ...
- Hibernate中Criteria的完整用法2
Criteria的完整用法 QBE (Query By Example) Criteria cri = session.createCriteria(Student.class); cri.add(E ...
- 分享知识-快乐自己:Hibernate 中Criteria Query查询详解
1):Hibernate 中Criteria Query查询详解 当查询数据时,人们往往需要设置查询条件.在SQL或HQL语句中,查询条件常常放在where子句中. 此外,Hibernate还支持Cr ...
- Hibernate中Criteria的完整用法
1,CriteriaHibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria .2,De ...
- 【hibernate criteria】hibernate中criteria的完整用法 转
---恢复内容开始--- 转自:http://www.360doc.com/content/090313/10/26262_2794855.html 1.Criteria Hibernate 设计了 ...
- Hibernate中Criteria的用法
概念 Criterion 是 Criteria 的查询条件.Criteria 提供了 add(Criterion criterion) 方法来添加查询条件. Criterion 接口的主要实现包括: ...
- 转:Hibernate中Criteria和DetachedCriteria的完整用法
原文地址:http://blog.sina.com.cn/s/blog_667528fd0100rkrf.html 设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装.现在对 H ...
- Hibernate 中Criteria Query查询详解【转】
当查询数据时,人们往往需要设置查询条件.在SQL或HQL语句中,查询条件常常放在where子句中.此外,Hibernate还支持Criteria查询(Criteria Query),这种查询方式把查询 ...
- hibernate中 criteria.setProjection(Projections.rowCount()).uniqueResult()为null的Bug
在hibernate中,在查询总数时,会使用如下方法; public Integer getCount(final DetachedCriteria detachedCriteria) { ...
随机推荐
- (七) 一起学 Unix 环境高级编程(APUE) 之 进程关系 和 守护进程
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- nginx反向代理编译异常
cc1: warnings being treated as errors /root/nginx_tcp_proxy_module/ngx_tcp.c: 在函数‘ngx_tcp_add_addrs’ ...
- ELK日志管理之——logstash部署
1.yum源配置 [root@localhost ~]# cat > /etc/yum.repos.d/logstash.repo <<EOF [logstash-1.5] name ...
- Fiddler学习之——对Android应用进行抓包
Fiddler做为实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多 ...
- DP总结
最长回文子序列 int lpsDp(char * str,int n){ int dp[n][n], tmp; memset(dp,0,sizeof(dp)); for(int i=0; i<n ...
- chm手册显示已取消到该网页的导航
解决:在chm右键查看有没有解除锁定选项.1.右键单击chm文件,选择属性:2.在最下面点击“解除锁定”并确定后,再次打开chm,就正常了
- js中json对象的深拷贝
/** * 对象深拷贝 * @param obj */ function deepCopy(obj) { var txt=JSON.stringify(obj); return JSON.parse( ...
- 超链接的#和javascript:void(0)的区别
转载于:http://www.uw3c.com/cssviews/css12.html 在工作中,如果我们想把a标签中的链接置成空链接,我们一般会用两种方法: 1 <a href=" ...
- (转)EntityFrameword “Reverse Engineer Code First” 连接 MySql
转自:http://stackoverflow.com/questions/19676624/error-trying-to-reverse-engineer-code-first-mysql-dat ...
- 学习angular 指令构造器时遇到的小问题
在学习angular时,使用模块来为应用添加自己的指令时,遇到了一个问题,演示的代码如下: <!DOCTYPE html> <html> <head> <me ...