【问题标题】:Hibernate Reverse Engineering ExceptionHibernate 逆向工程异常
【发布时间】:2013-07-10 18:53:23
【问题描述】:

我正在尝试按照教程对 SQL Server 数据库进行逆向工程(实际上我尝试了一些,但这里有一个): How to generate Hibernate mapping files & annotation with Hibernate Tools

问题是:我必须选择什么样的项目?它必须是JPA项目吗?如果是这样,我应该/必须使用 EclipseLink 吗?

我之所以问是因为我创建了一个使用 EclipseLink 的 JPA 方面的项目。我使用 sqljdbc 驱动程序创建了与数据库的连接,并且“ping”工作正常。但是,当我尝试获取异常时:

java.lang.NoSuchMethodError: org.hibernate.dialect.SQLServer2005Dialect.registerColumnType(IJLjava/lang/String;)

【问题讨论】:

    标签: hibernate jpa jdbc


    【解决方案1】:

    我花了一整天的时间试图解决这个问题......并且确实学到了很多东西(尽管我仍然对 JPA 的东西有点困惑)。

    问题是由于在“hibernate.cfg.xml”文件中使用了以下行:

    <property name="dialect">org.hibernate.dialect.SQLServer2005Dialect</property>
    

    将属性更改为“org.hibernate.dialect.SQLServerDialect”解决了问题,异常消失了。

    【讨论】:

    • 在不熟练使用 hibernate / JPA 的情况下尝试“逆向工程”数据库 - 配置 / 设置就像试图用断棍击败巨兽。如果你真的想完成一些有用的事情,你需要从头开始,学习 Java + JPA + Hibernate 的每个基本方面。如果您实际上对该主题有一定的经验,您就会知道选择错误的方言会导致奇怪的错误。永远不要从最高处开始,从底部向上是要走的路。
    • 感谢您的建议和比喻,但我的任务非常具体,而且时间有限。此外,我相信通过解决一些具体问题而不是仅仅通过阅读或阅读并可能执行一些半抽象的示例来学习更容易。不过,我同意我可以花更多时间阅读与手头任务相关的主题......我会这样做:)
    猜你喜欢
    • 1970-01-01
    • 2012-03-15
    • 2016-06-18
    • 2015-09-27
    • 2015-02-11
    • 2011-11-17
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多