2010-07-14 50 views
0

我試着運行示例GWT/Google Appengine應用程序 - 使用roo命令生成的費用使用roo命令「script expenses.roo」(建議here)...Datanucleus/Roo/GWT - 問題持續豆與日期字段

此應用程序使用datanucleus-core-1.1.6和HSQLDB作爲內存數據庫。

我能夠運行應用程序併成功存儲和檢索Employee對象。 (這些Employee對象沒有任何日期類型字段,但只有字符串和int字段)。

,但我有存儲「報告」與App打印錯誤消息「意外的服務器錯誤」的對象問題。縱觀日誌和調試,發生了因爲試圖存儲在一個不空日期類型字段爲空(「創造」日場)

這是它變得複雜了......望着的源代碼這意外的錯誤這個Report類,'created'日期字段沒有被指定爲'not null'字段(缺少@notnull註釋)。爲了證實這一點,我將數據庫更改爲Postgresql並檢查了自動生成的模式,發現這個日期字段確實標記爲'not null'。

這意味着,DataNucleus將自動模式生成過程中始終標誌着日期字段爲「NOT NULL」。

我進一步證實了這一點,通過改變ORM庫Hibernate和相同的代碼有任何問題,工作,才得以保全報告,在這兩個HSQL和Postgres數據庫日期字段對象。

是否與DataNucleus將一個錯誤,是其他任何人看到這個問題?

+0

其實DataNucleus不會「總是將日期字段標記爲非空」 – DataNucleus 2010-07-15 08:33:14

回答

1

我使用DataNucleus將作爲JPA有許多日期字段(如時間戳或日期),並在所有沒有問題。 SchemaTool始終將它們創建爲DDL中的「NULL」(允許空值)。因爲你不引用實體類或日誌沒有幫助更多可用