学习hibernate4——关于hibernate的Annotation

本篇文主要是关于hibernate 测试 Annotation注解
网盘地址是链接:http://pan.baidu.com/s/1jI750Vk 密码:9vgi


Annotation

Annotation包有两种:javax跟hibernate自身的,一般情况下推荐使用javax的Annotation包,因为各大厂家只会参照JPA的标准制定自己的持久化实现,而不会依照hibernate的标准
所以项目只使用hibernate这个持久化框架才允许使用hibernate自身的Annotation包(相对来说会有更丰富的标签使用)

在项目中,我增加了一个实体类Commodity.java,这个类不使用hbm.xml配置文件,而是直接采取注解模式。

Annotation 功能描述
@Entity 表示当前类为实体Bean,需要进行持久化,讲一个JavaBean声明为持久化类时,默认情况下,该类的所有属性都将映射到数据表的字段,如果在该类中添加了无需映射的属性,需要使用@Transient注解声明
@Table 实现数据表与持久化类之间的映射,catalog指定数据库名,那么指定表名,@Table注解位置在@Entity注解之下(在类名上面)
@Id 指定当前持久化类的ID表示属性,与@GeneratedValue配合使用
@GeneratedValue 指定当前ID表示生成器,与@Id配合使用
@Column 指定当前属性所对应的数据库表中的字段,name指定字段名,unique指定是否为唯一,nullable指定是否可为null

可以看一下一个使用注解的Demo ,在项目文件中

@Entity
@Table(name = "Commodity" , catalog = "h4")
public class Commodity implements Serializable {
    private Integer id;
    private String name;
    private String description;
    @Id
    @GeneratedValue
    @Column(name = "ID" , unique = true , nullable = false)
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    @Column(name = "NAME" , length = 50 , nullable = false)
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "DESCRIPTION" , length = 50 , nullable = false)
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public Commodity(){ }
}

这是几个基本注解标签的用法,基本上配合使用就可以初步使用注解配置持久化类了。
需要注意的是,最后需要在hibernate.cfg.xml文件中声明该持久化类
格式如下


意义

一般开发中是使用注解,首先省去大量繁杂的xml配置文件,其次在开发过程中对实体类的修改无需同时维护两个文件,实体类文件和对应的配置文件。

你可能感兴趣的:(学习hibernate4——关于hibernate的Annotation)