0
我試圖在HSQLDB中的表的列中插入日期類型條目。問題是我使用Hibernate來這樣做,任何人都可以請幫助我如何做到這一點?如何使用Hibernate在HSQLDB表中的日期類型列中插入日期?
表如下:
CREATE TABLE TEST(
WORKINGDATE DATE NOT NULL
)
豆文件如下:
import java.util.Date;
public class Test {
private Date workingDate;
public Date getWorkingDate() {
return workingDate;
}
public void setWorkingDate(Date workingDate) {
this.workingDate = workingDate;
}
@Override
public String toString() {
return "Test [workingDate=" + workingDate + "]";
}
}
XML映射如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="bean.hibpackage.Test" table="TEST">
<property name="workingDate" column="WORKINGDATE" type="date" />
</class>
</hibernate-mapping>
現在測試場景是:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import bean.hibpackage.Test;
public class TestHibernate2 {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test = new Test();
String date_s = "2015-02-22";
{
//How to format the above given string to a date type so that the
//program will work
}
test.setWorkingDate(?);
Session ses = null;
try {
SessionFactory sessions = null;
sessions = new Configuration().configure().buildSessionFactory();
ses = sessions.openSession();
Transaction tran = ses.beginTransaction();
ses.save(test);
tran.commit();
} finally {
ses.close();
}
}
}
感謝弗拉德,這是第一件事,我試過了,&當然是解決方案。但問題出在我的數據庫表和休眠XML映射類,因爲你可以注意到我的XML文件中沒有ID字段,我發現Hibernate不允許連接到沒有ID字段的數據庫表,即連接一個沒有主鍵/複合鍵列的數據庫表。一旦我做到了,我很好走!謝謝,雖然因爲這是你的回覆,迫使我做一個淺層次的根本原因分析... – 2015-04-07 17:02:23
@DhirendraVerma:你會考慮接受這個答案嗎?爲此,請單擊答案左側的刻度線,使其變爲綠色。 – halfer 2015-09-03 21:15:04