hibernate小记
1.
<mapping class="com.bjsxt.hibernate.model.Teacher"/><!-- Annotation -->
<mapping resource="com/bjsxt/hibernate/model/Student.hbm.xml"/><!-- XML -->
Annotation的映射存在时,XML的映射执行有错误。XML的映射存在时,Annotation的映射执行没有问题
2.
<property name="hbm2ddl.auto">update</property>
它包含4个属性:
create : 会根据你的model类来生成表,但是每次运行都会删除上一次的表,重新生成表,哪怕2次没有任何改变。这就是导致数据库表数据丢失的原因。
create-drop : 根据model类生成表,但是sessionFactory一关闭,表就自动删除
update : 最常用的属性,也根据model类生成表,即使表结构改变了,表中的行仍然存在,不会删除以前的行。表不存在时,会新建表。字段不存在时,会新建字段
validate : 只会和数据库中的表进行比较,不会创建新表,但是会插入新值
3.
org.hibernate.HibernateException: Javassist Enhancement failed
异常原因:对应的实体类中需要添加相应的无参构造方法