2014-01-24 50 views
0

對於Web應用程序的日誌條目,我在MySQL表中具有包含主鍵DATETIME的表。
java.util.Date是在Hibernate中導致映射錯誤的不同格式。將YYYY-MM-DD HH:MM:SS格式的java.util.Date轉換爲與MySQL兼容DATETIME

如何將DATETIME類型的MySQL表映射到java.util.Date

+0

你有沒有嘗試過像'TO_DATE(yourdate)'在你的SQL? – Baby

+0

日期的「格式」與*不相關*,除非您將文本放在某處。有關如何解決此問題的一般想法,請參閱http://stackoverflow.com/questions/15389084/hibernate-mapping-mysql-datetime。 – user2864740

+0

不,我實際上使用Hibernate將數據存儲在MySQL表中。 –

回答

1

試試這個...

java.sql.Timestamp oracleDate = new java.sql.Timestamp(yourdate.getTime()); 

編輯...

我只是檢查我所做的一切在我的一些代碼,java.util.Date正在與沒有具體的設置冬眠。我上面的代碼可能只會幫助JDBC代碼。您可能會遇到不同類型的問題。你能分享一些代碼嗎?

+0

也建議在這個領域的休眠映射。 –

+0

我的POJO類:公共類GeneratedLogs實現可序列化私有日期systemDate; private String userName; private String operationName; 私人字符串狀態; 私人字符串消息;有一個mysql表'generatedlog',其列類型是DATETIME來存儲systemDate屬性。但在將數據存儲在表中時發生映射錯誤。 –

+0

感謝您的回覆。我的代碼正在處理這個實現。 –

1
java.util.Date temp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").parse("2014-01-24 11:23:00.000000"); 

我認爲這是你在找什麼?

的代碼是

public class Test { 

public static void main(String[] args) throws ParseException { 
    java.util.Date temp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS") 
      .parse("2014-01-24 11:23:00.000000"); 
    System.out.println(temp); 
}} 

現在這個傳遞給你的數據庫

+0

沒有溫度不是一個字符串。仔細查看它的java.util.Date temp。 – Rohan

0

如果您在使用Hibernate,使用@Temporal annotation with TemporalType.DATE和Hibernate應該處理的事情你。如果沒有,留下評論。

+0

我在hibernate中使用hbm.xml文件進行映射。這是什麼? –

+0

請參閱http://www.eclipsezone.com/eclipse/forums/t115539.html;但爲什麼你不使用註釋? – hd1

相關問題