hibernate naturalid
来源:互联网 发布:飞思卡尔官网编程软件 编辑:程序博客网 时间:2024/06/16 15:26
NaturalId代表自然主键,有别于代理主键<id>;在开发中使用的较少。要使用自然主键,需要修改一下Department的映射文件:
注意一点的就是,natural-id是额外的一个作为自然主键的列,他必须和id同时存在。(貌似自然主键可以单独存在,如sid取题工程)Hibernate会为标记为自然主键的属性或多个属性添加UNIQUE约束。
要使用NaturalId,主要是在查询的时候:
简单解释一下:
1,要使用自然主键查询,一般有两种方式,一种方式是使用session新提供的byNaturalId方法,该方法需要传入查询对象的类型,并通过using(String propertyName,Object value)来设置要查询的自然主键属性及其值,然后再通过load()方法(立刻查询)或者byReference()方法(延迟加载)来完成对象的查询;第二种方式是通过createCriteria的Restrictions.naturalId约束来查询。
2,自然主键查询一般需要生成2条SQL:
SELECT id FROM DEPARTMENT WHERE name = ?
SELECT * FROM DEPARTMENT WHERE id = ?
即首先查询出符合自然主键的对象的ID,再通过得到的id去load对象。所以,一般情况下,使用自然主键查询对象,都需要开启二级缓存。
3,来看下输出:
了解了以上这些内容,要做一个简单的全面监控Hibernate的模块就是很简单的事情了。
阅读全文
0 0
- hibernate naturalid
- hibernate
- Hibernate
- Hibernate
- Hibernate
- hibernate
- hibernate
- Hibernate
- Hibernate
- Hibernate
- hibernate
- Hibernate
- Hibernate
- hibernate
- hibernate
- hibernate
- Hibernate
- Hibernate
- CentOS7下firewall批量开放端口
- 使ubuntu vps支持中文输入
- Python机器学习应用 | 监督学习课程测验
- 【本文完全转载】JSON和JSONP的大概原理,以及jquery中ajax的jsonp、jsonpCallback方法的描述
- YAML总结
- hibernate naturalid
- 多线程基础知识点汇总
- 工作常用Linux命令
- JQuery-倒计时显示并跳转
- 用函数实现strcat功能
- Mysql几种索引类型的区别及适用情况
- ssm(springmvc4+spring4+mybatis3)整合实战-个人博客系统
- python高级语法--闭包篇
- 在Ubuntu Linux 16.04下(64位)打开.ipynb文件