JPA是Java Persistence API的簡稱,中文名Java持久層API
常用注解
@Entity
在類上面加入饭玲,聲明后將會被映射到數(shù)據(jù)庫中捉片,有name屬性可以指定數(shù)據(jù)庫中的表名字
@Table
在類上面加入韩容,聲明將被映射到數(shù)據(jù)庫中的表名,有catelog和schema屬性藕坯,在mysql中只支持schema屬性团南,且默認(rèn)為數(shù)據(jù)庫名字。
@Embeddable
在嵌入類上面加入炼彪,這樣只要用到了這個嵌入類的實體類吐根,將會把這個嵌入類的屬性也映射到表中
@EmbeddedId
當(dāng)用到嵌入類為主鍵的時候,需在主類對應(yīng)字段加上
@Embedded
使用嵌入類時霹购,對應(yīng)字段應(yīng)該加上
@Column
在表中對應(yīng)字段的屬性佑惠,如lenth,nullable齐疙,unique等
@GeneratedValue
兩個屬性膜楷,一個strategy(策略)
主鍵生成策略,默認(rèn)為GenerationType.AUTO(默認(rèn)的生成策略)
GenerationType.IDENTITY贞奋,GenerationType.SEQUENCE赌厅,GenerationType.TABLE;
還有一個generator(使用hibernate的生成策略)
對應(yīng)應(yīng)該加@GenericGenerator(name="上面的generator的值",generator="assigned,native等")
@Transient
字段加上這個將不會被映射到表中