Hibernate学习笔记1

 

1. 对象-关系的映射

 

对象中的属性与数据库中的表,不是一一对应的。并不是持久类中的所有属性都直接和表的字段匹配,持久类的有些属性的值必须在运行时通过计算才能得出来,这种属性称为派生属性

 

解决:A.在持久类的访问方法中计入程序逻辑(set/get方法)

 

B.利用<property>元素的formula属性。formula属性用来设置一个SQL表达式。注意null的情况,最好使用包装类型。

 

2. 控制insert和update语句

 

默认情况下,hibernate会在初始化阶段,在SessionFactory的内置缓存中预定义SQL语句。HQL或QBC查询对应的select语句是在执行代码时才会动态生成。

 

<property> insert和update属性,控制属性是否要inset/update

<class> mutable 如果为false,表示整个实例不能被更新。默认true

<class> dynamic-insert / dynamic-update属性,默认false。如果为true,表示会动态生成SQL语句

你可能感兴趣的:(sql,Hibernate)