加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 休眠注释,指定列默认值

发布时间:2020-12-15 05:19:12 所属栏目:Java 来源:网络整理
导读:我有一个域对象,注释如下 @Entity @Table(name = "REQUEST") public class Request { /** * Unique id for this request */@Id@GeneratedValue@Column(name = "EQ_ID")private long requestId;/** * */@Column(name = "EMAIL_ID")private String emailId;/**
我有一个域对象,注释如下

@Entity
 @Table(name = "REQUEST")
 public class Request {

  /**
   * Unique id for this request
   */
@Id
@GeneratedValue
@Column(name = "EQ_ID")
private long requestId;
/**
 * 
 */
@Column(name = "EMAIL_ID")
private String emailId;
/**
 * 
 */
@Column(name = "REQUEST_DATE")
private Date requestDate;
/**
*Getters/setters omitted
*/
 }

Request_date列不能为null,根据DDL,默认值为sysdate(oracle DB).如何对该字段进行注释,以便在requestDate属性为null时,hiberanate会自动插入sysdate.目前,当字段为空时,它会抛出错误,这非常明显,因为根据数据库约束它不能为空.我该怎么做?
另一种方法是将此字段标记为瞬态,插入工作正常.但负面的方面是,我将无法检索(request_date列的)值.

解决方法

您可以将默认值放在columnDefinition中.一个例子如下:

@Column(name = "REQUEST_DATE",nullable = false,columnDefinition = "date default sysdate")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读