Joda HIbernate-实体映射中的重复列

Joda HIbernate-实体映射中的重复列,hibernate,jodatime,Hibernate,Jodatime,我想有一个复合字段-lastLogin和一个单独的字段-timeZone。 我希望能够将复杂对象lastLogin(包含时区)和时区作为独立字段同时插入到数据库中 但使用以下代码: @Columns(columns = {@Column(name = "LastLogin_TS"), @Column(name = "LOCAL_TS_TZ", updatable = false, insertable = false)}) @Type(type = "org.jadira.usertype.da

我想有一个复合字段-lastLogin和一个单独的字段-timeZone。 我希望能够将复杂对象lastLogin(包含时区)和时区作为独立字段同时插入到数据库中

但使用以下代码:

@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


您应该将
insertable=false,updateable=false
添加到其中一个字段,因为您已经映射到同一列。 比如:


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

为您的建议干杯。我尝试按照stacktrace和您的建议将insertable和Updateable设置为false,但现在的矛盾是:“不允许在属性中混合插入列和不可插入列:lastLogin”
@Column(name = "LOCAL_TS_TZ", insertable = false, updatable = false)
private DateTimeZone timeZone;