2015-04-04 42 views
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(); 
     } 

    } 

} 

回答

0

你只需要解析Date字符串表示:

String date_s = "2015-02-22"; 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
test.setWorkingDate(sdf.parse(date_s)); 
+0

感謝弗拉德,這是第一件事,我試過了,&當然是解決方案。但問題出在我的數據庫表和休眠XML映射類,因爲你可以注意到我的XML文件中沒有ID字段,我發現Hibernate不允許連接到沒有ID字段的數據庫表,即連接一個沒有主鍵/複合鍵列的數據庫表。一旦我做到了,我很好走!謝謝,雖然因爲這是你的回覆,迫使我做一個淺層次的根本原因分析... – 2015-04-07 17:02:23

+0

@DhirendraVerma:你會考慮接受這個答案嗎?爲此,請單擊答案左側的刻度線,使其變爲綠色。 – halfer 2015-09-03 21:15:04

相關問題