Oracle到MySQL迁移:节点没有数据类型:org.hibernate.hql.ast.tree.MethodNode

时间:2016-06-24 06:09:07

标签: java mysql oracle hibernate jpa

我正在将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数据类型,但我第一次发现了这个问题。所以请帮助我如何解决这个问题。

0 个答案:

没有答案