实体必须要有无参的构造方法,不然会报错。
- hibernate底层就是调用Entity的无参构造方法。
2,提供一个标示属性,映射数据表主键字段,提供id
3,所有的属性要提供public的set 和 get方法
4,标示属性应尽量使用基本数据类型的包装类型
5,不要使用final修饰实体(将无法对生成的代理对象产生优化) - 用get方法获取数据的时候没有问题,当使用load方法就会出现无法生成代理。因为final修饰实体就无法被继承。
OID 与主键对应,唯一标识符。一般让hibernate区赋值,我们不需要自己去赋值。
自然主键和代理主键
- 主键:不能为空、不能重复、不能改变
- 自然主键:某个属性符合主键的3个要求。如用户名就是自然主键。
- 代理主键:属性不符合上面的三个要求,就增加一个没有意义且符合上面规则的列,这个列的字段就是代理主键。如果id
基本数据类型与包装类 - 包装类型可以为null
- 基本数据类型默认为0,无法表示null。业务中用0不好。
数据类型的对应关系:
实体类型
数据库中的数据类型