Hibernate-实体详解

一.实体类的规范

  1.必须有空参构造;用Hibernate向数据库获取数据并返回对象的过程中,实际是利用了反射机制创建对象,创建方式为空参构造

  2.必须有属性

  3.尽量使用包装类,能比基本类型多表示一个值null

  4.实体类需要提供oid,与表的主键列对应(在hibernate中,对象是根据oid来区分的)

  5.不要用final来修饰类;(在后期学习懒加载时,调用get方法并不会马上发送sql语句并封装成对象返回,它会先创建一个代理对象,该代理对象是通过cglib代理实现的,本质是对目标对象进行继承代理,因此如果用final进行修饰,则不能生成cglib代理对象)

 

二.主键类型

1.自然主键

  >表中的某一业务列符合主键的定义,可作为自然主键;比如身份证

2.代理主键

  >表中存在一列没有业务意义的字段,该列没有任何意义

 

 

三.主键生成策略

 

1.一般使用native作为主键生成策略,如果表中的主键列必须得使用字符串类型,就得考虑uuid和assigned

2.increment是线程不安全的,因为它是对共享资源进行先查询后操作的方式,当多线程时容易造成数据行被覆盖

 

 

四.其他注意事项

  1.需要hibernate来操作的表,必须提供主键列

posted @ 2020-05-12 09:53  爱编程DE文兄  阅读(201)  评论(0编辑  收藏  举报