0

複合フィールド (lastLogin) と別のフィールド (timeZone) が必要です。複雑なオブジェクト - lastLogin (timeZone を含む) と timeZone をスタンドアロン フィールドとして同時にデータベースに挿入できるようにしたいと考えています。

ただし、次のコードを使用します。

@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")

@Column アノテーションで列を指定する代わりに、これらの列 (lastLogin と timeZone) を結合する方法はありますか?

更新: 提案されているように、LOCAL_TS_TZ 列の挿入可能および更新可能なプロパティを false に設定しましたが、別の問題に遭遇しました:

プロパティに挿入可能な列と挿入できない列を混在させることはできません: lastLogin

4

1 に答える 1

1

insertable = false, updatable = false同じ列へのマッピングがあるため、フィールドの 1 つに追加する必要があります。お気に入り:

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

カスタム タイプを作成する必要がある場合は、この方法で作成できます。

于 2013-08-22T12:51:44.220 に答える