java.sql.Date未插入到数据表中
我有一个包含以下内容的类:java.sql.Date未插入到数据表中,java,hibernate,Java,Hibernate,我有一个包含以下内容的类: @Column(name = "end_date") private Date endDate; 这是塞特 public void setEndDate() { endDate = new java.sql.Date(Calendar.getInstance().getTime().getTime()); System.out.println(endDate); } 当我调用setter并再次检查该值是否正确时,一切正常。(甚至getEndDate
@Column(name = "end_date")
private Date endDate;
这是塞特
public void setEndDate() {
endDate = new java.sql.Date(Calendar.getInstance().getTime().getTime());
System.out.println(endDate);
}
当我调用setter并再次检查该值是否正确时,一切正常。(甚至getEndDate().getClass()
)。
但是,当我将对象保存到PostgreSQL(myObject.persist()
)中时,“结束时间”列上没有值。其他值是正确的
有人知道有什么问题吗
另外,我必须提到hibernate被设置为创建SQL表
塞特和盖特:
public void setEndDate(Date endDate) {
setEndDate();
}
public Date getEndDate() {
return endDate;
}
我在本例中使用java.util.Date,并将@Column的映射更改为
@Column(name = "end_time")
private Date endDate = new Date();
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public Date getEndDate() {
return endDate;
}
@Column(name = "END_TIME")
private Date endDate = new Date();
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public Date getEndDate() {
return endDate;
}
表中的列名为END_TIME,@column标记中的列名为END_date,这一点是否正确?这可以解释…:-)对于私有字段,hibernate将使用JavaBean标准设置器和获取器。你能在那个bean上发布其他的setter(接受参数)和getter吗?OleV.V,是我写的end_time大写@AndyN,我没有一个带参数的setter,我想这是个问题,我编辑了te post,并添加了setter/getter。还是没有working@Adyzds@Olev.V并不是在评论这种情况。注释是
end\u date
。如果列为end\u time
,则注释不匹配。相同的事情。数据库中没有值我看到您在列上标记了end_date,但在end_TIME中检查了值,有什么问题吗?\n我在上面告诉过您,我将列名大写。在数据库中,它是“结束时间”,我编辑答案并将@列更改为结束时间,从逻辑上讲,此列名不区分大小写。它正在工作,谢谢!还是不明白为什么我的方法不起作用