JPA是Java Persistence API的简称,中文名Java持久层API
常用注解
@Entity
在类上面加入,声明后将会被映射到数据库中,有name属性可以指定数据库中的表名字
@Table
在类上面加入,声明将被映射到数据库中的表名,有catelog和schema属性,在mysql中只支持schema属性,且默认为数据库名字。
@Embeddable
在嵌入类上面加入,这样只要用到了这个嵌入类的实体类,将会把这个嵌入类的属性也映射到表中
@EmbeddedId
当用到嵌入类为主键的时候,需在主类对应字段加上
@Embedded
使用嵌入类时,对应字段应该加上
@Column
在表中对应字段的属性,如lenth,nullable,unique等
@GeneratedValue
两个属性,一个strategy(策略)
主键生成策略,默认为GenerationType.AUTO(默认的生成策略)
GenerationType.IDENTITY,GenerationType.SEQUENCE,GenerationType.TABLE;
还有一个generator(使用hibernate的生成策略)
对应应该加@GenericGenerator(name="上面的generator的值",generator="assigned,native等")
@Transient
字段加上这个将不会被映射到表中