Hibernate 注解相关说明

Java-框架王 Hibernate 发布时间:2021-07-14 15:32:40 阅读数:19238 1
在前面的几篇文章中,我们都是采用xml文件将 持久化类同数据库之间进行数据转换,
那么有没有一种方法,无需使用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 属性允许列中只能含有唯一的内容
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/Hibernate/202107/491.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者