我正在将oracle数据库迁移到mysql。我在日期栏中有一个问题。 Oracle的列名为CREATED_DATE,数据类型为DATE,存储值为“1/1/1981 2:04:35 PM”
Java类代码
class User{
@Column(name = "CREATED_DATE")
private Date createdDate; //java.utill.Date
}
现在我将oracle数据库迁移到MySQL并在MySQL中创建数据类型为DATETIME的列名CREATED_DATE。我使用相同的java类来连接数据库。但我得到了这个错误
Caused by: java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.MethodNode
Can any one help me solve this issue? What will it take in mysql database to store same date format **"1/1/1981 2:04:35 PM"**?
我使用这个javax.persistence文件配置。我使用二级缓存和mysql数据库。我无法找出它的确切问题。请建议我如何解决这个问题。问题可能出在mysql数据库列或hibernate配置中。
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.hbm2ddl.auto" value="none" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider" />
<property name="hibernate.jdbc.batch_size" value="20"/>
<property name="hibernate.cache.use_query_cache" value="true"/>
<property name="hibernate.cache.use_second_level_cache" value="true"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/db"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="root"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
</properties>
我在hibernate中使用了很多次java.util.Date
数据类型,但我第一次发现了这个问题。所以请帮助我如何解决这个问题。