EJB JPA实例



@Entity
@Table(name = "ALERT")
@TableGenerator(name = "ALERT_GENERATOR", table = "GENERATOR_TABLE",pkColumnName="PRIMARY_KEY_COLUMN",
                valueColumnName="VALUE_COLUMN",pkColumnValue="ALERT_PK",allocationSize=1)
public class Alert implements Serializable {
 
 private static final long serialVersionUID = 1L;

 /** 告警id*/
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "ALERT_GENERATOR")
    @Column(name = "ALERTID", nullable = false)
 private Long alertId;
 
    public enum AlertStatus{
     
     Untreated("未处理"),
     
     Treating("处理中"),
     
     Treated("已处理");
     
     private String context;
     
     public String getContext(){
      return this.context;
     }
     
     private AlertStatus(String context){
      this.context = context;
     }
    }

 /** 告警名称 */
    @Column(name = "NAME", length = 100, nullable = false)
 private String name;
    
 /** 告警创建时间 */
    @Column(name = "CREATETIME")
    @Temporal(TemporalType.TIMESTAMP)
 private Date createTime;
    
 /** 处理状态 */
    @Column(name = "STATUS")
    @Enumerated(EnumType.STRING)
 private AlertStatus status = AlertStatus.Untreated;

}

l         name属性表示该表主键生成策略的名称,它被引用在@GeneratedValue中设置的“generator”值中。

l         table属性表示表生成策略所持久化的表名,例如,这里表使用的是数据库中的“tb_generator”。

l         catalog属性和schema具体指定表所在的目录名或是数据库名。

l         pkColumnName属性的值表示在持久化表中,该主键生成策略所对应键值的名称。例如在“tb_generator”中将“gen_name”作为主键的键值

l         valueColumnName属性的值表示在持久化表中,该主键当前所生成的值,它的值将会随着每次创建累加。例如,在“tb_generator”中将“gen_value”作为主键的值

l         pkColumnValue属性的值表示在持久化表中,该生成策略所对应的主键。例如在“tb_generator”表中,将“gen_name”的值为 “CUSTOMER_PK”。

l         initialValue表示主键初识值,默认为0。

l         allocationSize表示每次主键值增加的大小,例如设置成1,则表示每次创建新记录后自动加1,默认为50。

l         UniqueConstraint与@Table标记中的用法类似

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值