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

有没有办法以某种方式加入这些列(lastLogin 和 timeZone),而不是指定带有 @Column 注释的列?

更新: 我按照建议将 LOCAL_TS_TZ 列的可插入和可更新属性设置为 false,但我现在遇到了另一个问题:

不允许在属性中混合可插入和不可插入的列:lastLogin

4

1 回答 1

1

您应该添加insertable = false, updatable = false到您的字段之一,因为您已映射到同一列。喜欢:

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

如果您需要创建自定义类型,您可以这样

于 2013-08-22T12:51:44.220 回答