【问题标题】:Netbeans 7.1 Hibernate Reverse Engineering wizard does not find database driverNetbeans 7.1 Hibernate 逆向工程向导找不到数据库驱动程序
【发布时间】:2012-02-24 14:56:34
【问题描述】:

我目前正在尝试完成这个 netbeans + hibernate + JavaSE 教程 (http://netbeans.org/kb/docs/java/hibernate-java-se.html)。一切都很好,但是在创建 hibernate.cfg.xml 之后,当涉及到应该应用逆向工程的部分时,逆向工程向导告诉我一些奇怪的消息:

"The database drivers are not added to the project classpath." 
"Go to project properties to add database library.". 

这有点奇怪,因为 hibernate.cfg.xml 是由 netbeans 生成的。我用 hibernate.cfg.xml 中的连接数据检查了我的数据库连接,看起来一切正常,所以手动连接工作得很好。有人知道这里发生了什么吗?我做错了吗?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/sakila</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">apassword</property>
     <property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
  </session-factory>
</hibernate-configuration>

【问题讨论】:

    标签: java hibernate netbeans reverse-engineering


    【解决方案1】:

    在hibernate.cfg.xml中添加这行代码

    <session-factory>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost/DATABASE_NAME</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password"/>
    </session-factory>
    

    【讨论】:

      【解决方案2】:

      除了缺少 jar 文件之外,还有另一种可能导致 netbeans 中出现此错误的方法:错误的配置文件。

      所以请确保您有正确的配置文件(.cfg.xml 文件)来构建 .reveng​​p>

      【讨论】:

        【解决方案3】:

        附上一个示例配置:

        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration     DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
        <hibernate-configuration>
          <session-factory>
            <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.password">1234</property>
            <property name="hibernate.connection.url">jdbc:mysql://161.58.103.144:3306/exampleDatabase?zeroDateTimeBehavior=convertToNull</property>
            <property name="hibernate.connection.username">JasonGlez</property>
            <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
          </session-factory>
        </hibernate-configuration>
        

        只需更改 ip、数据库名称、您的用户名和密码

        【讨论】:

          【解决方案4】:

          您缺少 JDBC 驱动程序。在项目视图中右键单击项目下的Libraries 节点并选择Add Library... -&gt; MySQL JDBC Driver

          【讨论】:

          • 不幸的是,情况并非如此。我在类路径上有 jdbc 驱动程序,它似乎工作正常,因为我可以使用它手动(通过代码)连接。
          • 很奇怪。当您右键单击您的项目并选择Properties 时,JDBC 驱动程序是否列为Compile 库?您是否尝试过清理和构建您的项目?
          • 是的,有这些库。 1) Hibernate 2) Persistence 3) MySQL JDBC Driver 4) EclipseLink(JPA2.0)
          • Netbeans 不知何故为您的项目配置了两个冲突的 JPA 提供程序。尝试删除除 MySQL JDBC Driver 之外的所有这些并添加 Hibernate JPA(如果您使用的是 JPA)。或者可能只删除 EclipseLink(如果您不使用 JPA)并确保周围没有 persistence.xml 文件。跨度>
          • 还是一样。我假设 rev.eng.-wizard 存在一些错误,因为映射向导可以很好地处理 hibernate.cfg.xml 中保存的连接信息,我也可以使用应用程序中的 SessionFactory 对象手动连接。
          【解决方案5】:

          正如你好所说,确保 hibernate.cfg.xml 是好的。尝试从 Netbeans Hibernate 配置向导重新生成它,而不是自己制作它。还可以尝试重新创建项目并确保新项目向导使用数据库连接设置填充 hibernate.cfg.xml。第一次对我来说它是空白的;不知道为什么。在它开始工作之前,我还重新启动了 Netbeans 和要启动的计算机,尝试一下可能不会有什么坏处。 (没有双关语。)

          【讨论】:

            【解决方案6】:

            这需要 MySQL 驱动,在库中添加 My sql Driver 以解决问题

            【讨论】:

              猜你喜欢
              • 2014-06-25
              • 2011-07-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-09-27
              • 1970-01-01
              • 2012-03-15
              相关资源
              最近更新 更多