在JPA中可以通过@Table、@Column和@Id注解指定实体类与数据库表之间的映射关系。
@Table:指定实体类映射的数据库表名。
@Entity
@Table(name = "t_user")
public class User { ... }
@Column:指定实体类属性映射的数据库表字段名。
@Entity
public class User {
@Id
@Column(name = "id")
private int id;
@Column(name = "name")
private String name;
}
@Id:指定实体类的主键属性。
@Entity
public class User {
@Id
@Column(name = "id")
private int id;
}
如果实体属性名称与数据库表字段名相同,也可以省略@Column注解。
@Entity
public class User {
@Id
private int id;
private String name;
}
代码示例:
@Entity
@Table(name = "t_user")
public class User {
@Id
@Column(name = "id")
private int id;
@Column(name = "name")
private String name;
@Column(name = "age")
private int age;
}
在上例中,User实体类映射到t_user数据库表,id属性映射到id字段,name属性映射到name字段,age属性映射到age字段。
理解对象关系映射注解,有助于我们设计高质量的ORM模型。熟练使用@Table、@Column和@Id注解配置实体类与数据库表的映射关系,可以实现对象-关系的自动映射,简化持久化层的开发,提高应用的开发效率。