用于java.time.ZonedDateTime的MySQL类型

时间:2015-10-17 21:11:38

标签: java mysql hibernate jodatime java-time

1)MySQL数据库中需要多少列才能存储 java.time.ZonedDateTime

2) DATETIME与TIMESTAMP MySQL类型 - 最好存储ZonedDateTime和LocalDateTime

基于此article PersistentDateTimeTZ用于将joda DateTime存储在2列中。所以我希望有相同的但是当我尝试使用

@Columns(columns={@Column(name="transaction_date"),@Column(name="transaction_date_tz")})
    @Type(type = "org.jadira.usertype.dateandtime.threeten.PersistentZonedDateTime")
    private ZonedDateTime transactionDate;

我得到例外:

Caused by: org.hibernate.MappingException: property mapping has wrong number of columns: my.package.Transaction.transactionDate type: org.jadira.usertype.dateandtime.threeten.PersistentZonedDateTime
    at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:484)
    at org.hibernate.mapping.RootClass.validate(RootClass.java:270)

P.S。

hibernate-version 4.2.7.Final

jadira-version 4.0.0.GA

1 个答案:

答案 0 :(得分:0)

这是一个小小的怪物。刚刚使用Grails3。