Spring、JPA和hibernate的java问题
我正在使用spring和hibernate开发一个简单的在线拍卖系统。我创建了一个POJO“Items.java”,其中包含如下数据变量:
@Id
@GeneratedValue
@Column(name="item_id")
private Integer itemId;
@Column
private String name;
@Column
private String summary;
@Column
private double price;
@Column
private String description;
@Column(name="sDate", insertable=false, updatable=false, columnDefinition="timestamp default current_timestamp")
@Generated(value=GenerationTime.INSERT)
@Temporal(TemporalType.TIMESTAMP)
private Date sDate;
@Temporal(TemporalType.TIMESTAMP)
private Date cDate;
sDate
和cDate
分别是开始日期和结束日期sDate
是自动插入的当前日期,cDate
是卖方通过表格输入的截止日期。因此,我试图通过使用JSP表单从卖家处获取输入,将(名称、摘要、价格、描述和截止日期)插入mysql。将插入除日期之外的所有数据。数据库中的日期值为空。为什么会这样
任何帮助都将不胜感激。我找了很多这个问题,但没有找到解决办法
# 1 楼答案
设置
insertable=false
时,必须通过数据库机制(如Oracle中的触发器或默认值)以某种方式提供此列的值。应用程序代码不会为您生成时间戳# 2 楼答案
我认为这是因为日期的@Column注释中有“Insertable=false”
参考:http://www.objectdb.com/api/java/jpa/Column
试着移除它