Hibernate
来源:互联网 发布:网络大电影排行榜 今日 编辑:程序博客网 时间:2024/06/05 21:54
1、dynamic-insert =“false” 动态插入:默认没有给值的字段也会出现在sql语句中;改为true就不会出现了。
2、dynamic-update=“false”动态修改:默认没修改的字段也会出现在sql语句中。
3、unsave-value=“0”:告诉数据库当id的值是0时不保存,当成null处理。当主键需要自己给定值的时候
4、access=“field”:直接操作对象的属性,不通过get,set方法;违背了java的封装性。(不建议使用)
二、主键在数据库表中的生成策略
<id name="id" column="id">
<generator class=“increment”>
1、increment:由数据库生成,怎么生成?从数据库中查询出主键字段上的最大值再加1,执行select语句,作为新记录的id,主键不会自动增长
<generator class=“identity”>
2、identity:由数据库生成自动增长的主键。执行insert语句
<generator class=“sequence”>
3、sequence:序列,数据库使用序列生成主键的值,mysql不支持
<generator class=“hilo”>
4、hilo:算法,既没有序列,也没有自动增长,使用hilo算法生成主键的值
<generator class=“native">
5、identity、sequence、hilo三选一(其实就是identity)
<generator class=“uuid">
6、id改成String类型;生成32位唯一的字符串
<generator class=“assigned">
7、assigned:自己生成指定id,自然主键
三、映射普通字段和实体类中的属性
type:三种类型的哪一种都可以
java中的类型:java.lang.String
数据库的类型:varchar
hibernate中的类型:string
java中的类型:java.lang.String
数据库的类型:varchar
hibernate中的类型:string
<property name="name" column="name" not-null="true"></property> <property name="password" column="password" type="string"></property>
四、使用持久态的好处
hibernate会自动同步持久态对象的变化到数据库表。处于持久态的,hibernate不允许修改id
不用调用update,hibernate会自动把对象的变化同步到数据库表中
0 0
- hibernate
- Hibernate
- Hibernate
- Hibernate
- hibernate
- hibernate
- Hibernate
- Hibernate
- Hibernate
- hibernate
- Hibernate
- Hibernate
- hibernate
- hibernate
- hibernate
- Hibernate
- Hibernate
- hibernate
- php中include与require的区别
- 记录一些有用的程序向网站
- 线程安全性
- [Spring+Hibernate系列] 3.开发环境快速Ant 部署
- 解决微信内置浏览器中图片轮播的小BUG
- Hibernate
- android
- openCV的简介
- js 冒泡事件
- 在eclipse项目索引中去掉Maven生成的target目录
- Ubuntu--(9) Linux下解压缩tar\bz2\gz
- java获取当月天数,指定年月的天数,指定日期获取对应星期
- Android开发之小问题笔记
- nx 二次开发 vs2010配置 解决方案生成失败