Hibernate 注解相关说明
在前面的几篇文章中,我们都是采用xml文件将 持久化类同数据库之间进行数据转换,
那么有没有一种方法,无需使用xml文件,即可将持久化类映射至数据库中呢?下文将讲述Hibernate注解的方式为对象同关系映射表之间建立映射的房啊,如下所示:
注意事项:
Hibernate注解需在JDK5.0 及以上及安装 Hibernate 3.x 注解包,并复制 hibernate-annotations.jar, lib/hibernate-comons-annotations.jar 和 lib/ejb3-persistence.jar 到你的 CLASSPATH
如下例所示:
创建数据表
@Entity 注释
EJB3标准的注释包含在 javax.persistence 包,所以我们第一步需要导入这个包。第二步我们对 User 类使用 @Entity 注释,标志着这个类为一个实体 bean,
即它必须含有一个没有参数的构造函数并且在可保护范围是可见的。
@Table 注释
@table 注释允许您明确表的详细信息保证实体在数据库中持续存在。
@table 注释提供了四个属性,允许您覆盖的表的名称,目录及其模式,在表中可以对列制定独特的约束。现在我们使用的是表名为 EMPLOYEE。
@Id 和 @GeneratedValue 注释
每一个实体 bean 都有一个主键,你在类中可以用 @Id 来进行注释。
主键可以是一个字段或者是多个字段的组合,这取决于你的表的结构。
默认情况下,@Id 注释将自动确定最合适的主键生成策略,但是你可以通过使用 @GeneratedValue 注释来覆盖掉它
strategy 和 generator 这两个参数我不打算在这里讨论,所以我们只使用默认键生成策略
让Hibernate 确定使用哪些生成器类型来使代码移植于不同的数据库之间
@Column Annotation
@Column 注释用于指定某一列与某一个字段或是属性映射的细节信息。您可以使用下列注释的最常用的属性:
name 属性允许显式地指定列的名称。
length 属性为用于映射一个值,特别为一个字符串值的列的大小。
nullable 属性允许当生成模式时,一个列可以被标记为非空。
unique 属性允许列中只能含有唯一的内容
那么有没有一种方法,无需使用xml文件,即可将持久化类映射至数据库中呢?下文将讲述Hibernate注解的方式为对象同关系映射表之间建立映射的房啊,如下所示:
注意事项:
Hibernate注解需在JDK5.0 及以上及安装 Hibernate 3.x 注解包,并复制 hibernate-annotations.jar, lib/hibernate-comons-annotations.jar 和 lib/ejb3-persistence.jar 到你的 CLASSPATH
如下例所示:
创建数据表
create table User ( id INT NOT NULL auto_increment, name nVARCHAR(20) default NULL, salary INT default NULL, PRIMARY KEY (id) );建立一个持久化类
import javax.persistence.*; @Entity @Table(name = "TbUser") public class User { @Id @GeneratedValue @Column(name = "id") private int id; @Column(name = "name") private String name; @Column(name = "salary") private int salary; public User() {} public int getId() { return id; } public void setId( int id ) { this.id = id; } public String getName() { return name; } public void setName( String name ) { this.name = name; } public int getSalary() { return salary; } public void setSalary( int salary ) { this.salary = salary; } }注解相关说明:
@Entity 注释
EJB3标准的注释包含在 javax.persistence 包,所以我们第一步需要导入这个包。第二步我们对 User 类使用 @Entity 注释,标志着这个类为一个实体 bean,
即它必须含有一个没有参数的构造函数并且在可保护范围是可见的。
@Table 注释
@table 注释允许您明确表的详细信息保证实体在数据库中持续存在。
@table 注释提供了四个属性,允许您覆盖的表的名称,目录及其模式,在表中可以对列制定独特的约束。现在我们使用的是表名为 EMPLOYEE。
@Id 和 @GeneratedValue 注释
每一个实体 bean 都有一个主键,你在类中可以用 @Id 来进行注释。
主键可以是一个字段或者是多个字段的组合,这取决于你的表的结构。
默认情况下,@Id 注释将自动确定最合适的主键生成策略,但是你可以通过使用 @GeneratedValue 注释来覆盖掉它
strategy 和 generator 这两个参数我不打算在这里讨论,所以我们只使用默认键生成策略
让Hibernate 确定使用哪些生成器类型来使代码移植于不同的数据库之间
@Column Annotation
@Column 注释用于指定某一列与某一个字段或是属性映射的细节信息。您可以使用下列注释的最常用的属性:
name 属性允许显式地指定列的名称。
length 属性为用于映射一个值,特别为一个字符串值的列的大小。
nullable 属性允许当生成模式时,一个列可以被标记为非空。
unique 属性允许列中只能含有唯一的内容
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。