JPA 自动建表(2)- @Entity 与 @Table

 1 @Entity
 2 @Table(name = "student")
 3 public class Student {
 4 
 5     @Id
 6     private Integer Id;
 7 
 8     public Integer getId() {
 9         return Id;
10     }
11     public void setId(Integer id) {
12         Id = id;
13     }
14 }
@javax.persistence.Entity(name = "xxx")
1.要与 @javax.persistence.Id 结合使用,表示当前类符合默认的 orm 规则【即,类名 -- 表名,属性名 -- 字段名】
2.如果 @Entity 和 @Id 中少一个注解的话,当前类完全就是一个典型的 POJO,与表没有映射关系
name 属性:实体名称【可选属性,默认值:类名(不含包名)
@javax.persistence.Table(name = "xxx")
指定了类所要映射的数据库表【 @Table 注解不是必须的】
name 属性:表的名称【可选属性,默认值:类名(不含包名)如果实体名称与映射的表名称一致时,@Table 注解常常可以省略
@Entity(name="student")
@Table(name="tbl_student")
这两个注解同时使用时创建的表名为:tbl_students
【创建表名称的优先级:@Table > @Entity】

猜你喜欢

转载自www.cnblogs.com/abdusalam10/p/11907669.html