我想要一个复合字段 - 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
答案 0 :(得分:1)
您应该将insertable = false, updatable = false
添加到您的某个字段,因为您已映射到同一列。
像:
@Column(name = "LOCAL_TS_TZ", insertable = false, updatable = false)
private DateTimeZone timeZone;
如果您需要创建自定义类型,则可以this way。