2013-08-22 119 views
0

我想要一個複合字段 - lastLogin和一個單獨的字段 - timeZone。 我希望能夠將複雜對象 - lastLogin(包含timeZone)和timeZone作爲獨立字段同時插入數據庫。Joda HIbernate - 實體映射中的重複列

用下面的代碼,但:

@Columns(columns = {@Column(name = "LastLogin_TS"), @Column(name = "LOCAL_TS_TZ", updatable = false, insertable = false)}) 
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTimeWithZone") 
private DateTime lastLogin; 

@Column(name = "LOCAL_TS_TZ") 
private DateTimeZone timeZone; 

我得到了很明顯的:

Repeated column in mapping for entity: com.myPkg.MyClass column: LOCAL_TS_TZ (should be mapped with insert="false" update="false") 

有沒有辦法以某種方式加入這些列(lastLogin和時區),而不是與指定列@Column註釋?

UPDATE: 我成立了LOCAL_TS_TZ列虛假的插入和更新性質的建議,但我遇到了另一個問題,現在:

在屬性混合插入式和非插入列不允許:lastLogin

回答

1

您應該將insertable = false, updatable = false添加到您的某個字段,因爲您已映射到同一列。 像:

@Column(name = "LOCAL_TS_TZ", insertable = false, updatable = false) 
private DateTimeZone timeZone; 

如果您需要創建自定義的類型,你可以做到這一點this way

+0

歡呼你的建議。我嘗試設置可插入和可更新爲虛假的堆棧跟蹤和你建議,但這裏是現在的矛盾:「混合可插入和不可插入的列在屬性中是不允許的:lastLogin」 –

相關問題