hibernate 标注非数据库字段

发布时间 2023-06-25 15:30:22作者: 八英里
使用hibernate注解,如何标识一个属性非数据库的字段。
就是说一个实体类对应了一张表,但是这个实体类中有一个属性不对应表中的字段

@Transient
    可选
    @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性.
    如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic
    示例:
    //根据birth计算出age属性
    @Transient
    public int getAge() {
       return getYear(new Date()) - getYear(birth);
    }

如果是数据库映射的字段 普通字段需要添加注解

 @Column(name = "PARAMNM", length = 50)
 public String getParamNm()
 {
  return this.paramNm;
 }

表id的话需要添加

@Id
 @GeneratedValue
 @Column(name = "ID", unique = true, nullable = false, precision = 22, scale = 0)
 public Long getId()
 {
  return this.id;
 }