Java Hibernate 5.2.10对AWS RDS的DDL自动更新(MySql 5.6.10a)创建了即时的TINYBLOB
我有一个JPA@实体,它的@Column类型为java.time.Instant。我的理解是,这应该映射到时间戳的列类型。但是,Hibernate auto update创建了类型为TINYBLOB的列,并且它在其中存储的数据不能立即转换回。我手动将@Column类型更新为TIMESTAMP,但Hibernate仍然失败,因为它试图以TINYBLOB格式插入数据。我读到Hibernate5开箱即用地处理JDK8类,所以我想知道为什么情况并非如此。我使用java.sql.Timestamp解决了这个问题,但我不得不问,有没有办法让Hibernate作为时间戳即时持久化?这是JDBC驱动程序的问题还是AWS RDS提供的旧版本MySQL的问题?添加hibernate-java8依赖项应该可以解决您的问题。默认情况下,Java的即时在RDS中变为日期时间 maven pom.xml的示例:Java Hibernate 5.2.10对AWS RDS的DDL自动更新(MySql 5.6.10a)创建了即时的TINYBLOB,java,mysql,hibernate,amazon-web-services,jpa,Java,Mysql,Hibernate,Amazon Web Services,Jpa,我有一个JPA@实体,它的@Column类型为java.time.Instant。我的理解是,这应该映射到时间戳的列类型。但是,Hibernate auto update创建了类型为TINYBLOB的列,并且它在其中存储的数据不能立即转换回。我手动将@Column类型更新为TIMESTAMP,但Hibernate仍然失败,因为它试图以TINYBLOB格式插入数据。我读到Hibernate5开箱即用地处理JDK8类,所以我想知道为什么情况并非如此。我使用java.sql.Timestamp解决了这
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>5.1.0.Final</version>
</dependency>
org.hibernate
hibernate-java8
5.1.0.1最终版本
添加hibernate-java8依赖项应该可以解决您的问题。默认情况下,Java的即时在RDS中变为日期时间
maven pom.xml的示例:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>5.1.0.Final</version>
</dependency>
org.hibernate
hibernate-java8
5.1.0.1最终版本