网站建设佰金手指科捷一/北京网站建设开发公司
一个实体,就是一个持久化的领域对象。通常情况下,一个实体代表在关系数据库中的一张表,实体的一个实例对应于表中的一行。
JPA规范对实体的要求:
1、实体类必须使用javax.persistence.Entity进行注解(@Entity)。
2、实体类必须要有一个公共的或者受保护的空参构造方法。
3、实体类不能声明为final,方法和需要持久化的属性也不能声明为final。
4、如果游离态的实体对象需要以值的方式进行传递,则必须实现Serializable接口。
5、实体类可以继承实体类和非实体类,非实体类也可以继承实体类。
6、持久化实例变量必须被声明为私有的、受保护的或者私有包,只能直接访问实体类的方法。
JAP实体类常用的注解:
1、@Entity 将领域对象标注为一个实体,表示需要保存到数据库中。
2、@Table @Table(name="table_name")用name属性指定对应的表。
3、@Id 表示对应的字段是表的主键。
4、@GeneratedValue 主键的产生策略。
5、@Column @Column(name="col_name",nullable=true,length=32)用name属性指定对应表中的列名,nullable指定是否可以为空,length指定列的长度。
6、@Temporal @Temporal(TemporalType.Date)指定时间类型,数据库对时间的类型有严格的划分。
7、@Version “提交版本必须大于记录当前版本才能执行更新”的乐观锁策略。
8、@Transient 让变量不要持久化到数据库中
9、@Enumerated 使用枚举。@Enumerated(EnumType.STRING)表示使用枚举的值,@Enumerated(EnumType.ORDINAL)表示使用枚举值的索引。
10、@Lob 处理大文本和二进制数据。