学习hibernate_03_实体常用的hibernate注解

/**
 * @Entity 声明一个类为实体Bean
 * @Table(name = "xx")指定实体类映射的表,如果表名和实体类名一致,可以不指定
 */
@Entity
@Table(name = "SYS_DICTIONARY")
public class DicDomain {

    /**
      * @Id 映射主键属性,这里采用uuid的主键生成策略
      * @GeneratedValue —— 注解声明了主键的生成策略。该注解有如下属性
      * strategy 指定生成的策略,默认是GenerationType. AUTO
      * GenerationType.AUTO 主键由程序控制
      * GenerationType.TABLE 使用一个特定的数据库表格来保存主键
      * GenerationType.IDENTITY 主键由数据库自动生成,主要是自动增长类型
      * GenerationType.SEQUENCE 根据底层数据库的序列来生成主键,条件是数据库支持序列
      * generator 指定生成主键使用的生成器
      * 
      * unique、nullable、insertable很容易理解,想说一点,这个一般在数据库里设置。
      */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "ID", unique = true, nullable = false)
    private Integer id;

    @Column(name = "NAME")
    private String name;

     /**
      * @Temporal - 用于定义映射到数据库的时间精度
      * @Temporal(TemporalType=DATE) 日期
      * @Temporal(TemporalType=TIME) 时间
      * @Temporal(TemporalType=TIMESTAMP) 两者兼具
      * 下面的例子在MySQL数据库里存储的样子类似:2015-09-14 16:00:22
      */
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "CREATETIME", length = 19)
    private Date createtime;

     /**
      * @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性
      * 果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic
      */
    @Transient
    private int age; 

    /**
      * cascade:级联,它可以有有五个值可选,分别是:
      * CascadeType.PERSIST:级联新建
      * CascadeType.REMOVE : 级联删除
      * CascadeType.REFRESH:级联刷新
      * CascadeType.MERGE  : 级联更新
      * CascadeType.ALL    : 以上全部四项
      * 
      * @JoinColumn:主表外键字段
      * @OneToMany mappedBy: many类关联字段所在的属性
      * 
      * fetch:加载策略,它有两个值可选,分别是:
      * FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载。
      * FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载。
      */
    @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    @JoinColumn(name = "typeid", updatable = false, insertable = false)
    private DicTypeDomain dictype;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCreatetime() {
        return createtime;
    }

    public void setCreatetime(String createtime) {
        this.createtime = createtime;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public DicTypeDomain getDictype() {
        return dictype;
    }

    public void setDictype(DicTypeDomain dictype) {
        this.dictype = dictype;
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值