gpt4 book ai didi

eclipse - 如何加载 Hibernate import.sql?

转载 作者:行者123 更新时间:2023-12-03 07:33:11 25 4
gpt4 key购买 nike

数据库表创建成功

<property name="hibernate.hbm2ddl.auto" value="create"/>"

在 persistence.xml 中,但是每次我运行应用程序(在 Eclipse Helios 中)时,import.sql 似乎都没有加载。我的 persistence.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/ ... ce_2_0.xsd" version="2.0">
<persistence-unit name="myPersistenceUnit">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create"/>

<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>

<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.url" value="jdbc:mysql://localhost/svrmonitor4" />
<property name="hibernate.connection.username" value="username" />
<property name="hibernate.connection.password" value="password" />

</properties>
</persistence-unit>
</persistence>

对于 import.sql 的内容,我尝试删除换行符,带+不带分号“;”,在命令行上测试 SQL(插入语句有效),尝试故意破坏 SQL(在控制台上不产生错误) )。我尝试将 import.sql 放在类路径的根目录中,也在 META-INF 中(仍然没有运气)。我尝试过输入“USE svmonitor4;”在 import.sql 文件的开头(同样,不走运)。

我在 persistence.xml 中遗漏了什么吗?

如果插入MySQL数据库时遇到错误,错误报告在哪里? Eclipse 控制台还是 MySQL 日志?我还没看过 MySQL 日志。

在 Eclipse 中我有三个项目,其依赖关系如下:

项目 A(包含启动应用程序的主类)--> 项目 B --> 项目 C(包含实体类、persistence.xml)

我尝试将 import.sql 放入每个项目的类路径中,但没有什么区别。

最佳答案

我通过提高 Log4J 日志记录级别发现了问题,这样我就可以在控制台上看到 Hibernate 的 hbm2ddl 工具的 INFO 消息。 import.sql 文件在我的项目的类路径根目录中与 persistence.xml 文件很好,即使它被 eclipse 中的另一个调用项目引用。我添加到 log4j.xml 的相关行:

<logger name="org.hibernate.tool.hbm2ddl" additivity="false">
<level value="info"/><appender-ref ref="console" />
</logger>

<logger name="org.hibernate" additivity="false">
<level value="warn"/><appender-ref ref="console" />
</logger>

这意味着我没有从 Hibernate 获得所有调试信息,仅获得与导入 .import.sql 相关的信息。

使用 Log4j 对此非常有用,因为它可以显示 import.sql 脚本的 SQL 的任何错误

事实证明,我的 SQL“INSERT INTO ...”语句没有按正确顺序排列值(发生这种情况是因为当您从实体类生成表时,表的顺序是按字母顺序排列的,其中类按照我的自定义顺序定义了变量)。

关于eclipse - 如何加载 Hibernate import.sql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5467357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com