Grails Db逆向工程生成Serializable而不是Timestamp

时间:2015-01-20 12:21:21

标签: hibernate grails

您好我正在使用Grails的DB逆向工程插件,并且在成功生成域名后尝试运行应用程序时出现错误

由HibernateException引起:列创建_timestamp的MQ.BENEFICIARY中的列类型错误。找到:timestamp,expected:raw(255)

域类将此字段设置为Serializable,如下所示

class Beneficiary implements Serializable {

    String customernumber
    String nickname
    String benAccNo
    String benType
    String benStatus
    String benAccType
    String benAccCurr
    String benName
    String benAddress
    String benCity
    String benBankBic
    String benBankName
    String benBankBranch
    String benBankAddress1
    String benBankAddress2
    String benBankAddress3
    String benBankAddress4
    String benBankCity
    String benBankCountry
    String benBankCountrycode
    String clientchannel
    String creationRefno
    Serializable creationTimestamp
    String activationRefno
    Serializable activationTimestamp
    String activationCode

我使用以下版本的Hibernate和dbreverse pluging

运行时“:hibernate:3.6.10.14”

compile':db-reverse-engineer:0.5.1'

问题是如何告诉hibernate或逆向工程插件使用正确的类型

1 个答案:

答案 0 :(得分:0)

这是生成的代码,不应该像任何生成的代码一样受信任。您应始终检查生成的代码并确保其正确无误,以便在您的应用程序中使用并修复或删除它(如果不是。)

该插件不保证100%的正确性,只是它可以为您从数据库表中手动创建域类节省大量时间。一般情况下,您不会经常运行逆向工程脚本,通常只需要执行一次或几次就可以为预先存在的数据库创建域类,但之后您可以像在任何应用程序中一样自行管理事物。 / p>

我不确定为什么会这样做;如果您显示错误创建的字段的列定义,将会有所帮助。但您可以轻松地将Serializable替换为Date