Ha sido imposible ejecutarlaacciónGrabar:org.hibernate.exception.GenericJDBCException:无法执行语句

时间:2015-07-03 01:23:23

标签: java mysql hibernate postgresql

亲爱的论坛朋友们: 我正在通过示例学习“学习OpenXava OpenXava”这本书。

我已经完成了Invoicing项目的第一部分,但我可以想到在Invoice实体中插入细节的问题。 亲爱的论坛朋友们: 我正在通过示例学习“学习OpenXava OpenXava”这本书。

我已经完成了Invoicing项目的第一部分,但我可以想到在Invoice实体中插入细节的问题。 错误消息如下: “无法运行Record操作:org.hibernate.exception.GenericJDBCException:无法执行语句”。

使用MySQL(我的引擎在端口3307上工作)而不是使用PostgreSQL。而OpenXava是版本5.3

作为实体的发票明细实体的主键是使用“uuid”策略生成的。

复制配置文件上下文,持久性和hibernate.cfg.xml 看看我们是否澄清了什么。

context.xml中:

<Resource auth="Container driverClassName="org.hsqldb.jdbcDriver"    maxActive="20" maxIdle="5" maxWait="10000" name="jdbc/OpenXavaTestDS" password="" type="javax.sql.DataSource" url="jdbc:hsqldb:hsql://localhost:1555" username="sa"/>

<Resource auth="Container" driverClassName="org.hsqldb.jdbcDriver" maxActive="20" maxIdle="5" maxWait="10000" name="jdbc/MySchoolDS" password="" type="javax.sql.DataSource" url="jdbc:hsqldb:file:../data/my-school-db" username="sa"/>

<Resource auth="Container" driverClassName="org.hsqldb.jdbcDriver" maxActive="20" maxIdle="5" maxWait="10000" name="jdbc/InvoiceDemoDS" password="" type="javax.sql.DataSource" url="jdbc:hsqldb:file:../data/invoice-demo-db" username="sa"/>

<Resource name="jdbc/reclamosDS" auth="Container" type="javax.sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="root" password="plexo" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost:3307/reclamos"/>

<Resource name="jdbc/InvoicingDS" auth="Container" type="javax.sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="root" password="plexo" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3307/invoicing"/>

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 &lt;a href=" http:="" java.sun.com="" xml="" ns="" persistence="" persistence_1_0.xsd"="">http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">

<persistence-unit name="default">
<non-jta-data-source>java:comp/env/jdbc/InvoicingDS</non-jta-data-source>
<class>org.openxava.session.GalleryImage</class>
<properties>

<property name="hibernate.dialect"  value="org.hibernate.dialect.MySQLDialect"/>
</properties>
</persistence-unit>

<persistence-unit name="junit">
<properties>

<property name="hibernate.connection.driver_class"  value="com.mysql.jdbc.Driver"/>

<property name="hibernate.dialect"  value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3307/invoicing"/>

<property name="hibernate.connection.username" value="root"/>

<property name="hibernate.connection.password" value="plexo"/>
</properties>
</persistence-unit>
</persistence>

和hibernate.cfg.xml代码:

<!DOCTYPE hibernate-configuration PUBLIC 
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">



<hibernate-configuration>

<session-factory>


<property name="hibernate.connection.datasource">java://comp/env/jdb/InvoicingDS</property>
<property  name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="hibernate.jdbc.use_get_generated_keys">false</property> 
<property name="hibernate.show_sql">false</property>




<mapping resource="GalleryImage.hbm.xml"/>

</session-factory>

</hibernate-configuration>

提前感谢您的关注。

向所有人致以问候。

1 个答案:

答案 0 :(得分:0)

亲爱的论坛朋友们:

他解决了这个问题。

之所以发生同样的事,是因为其中一个练习名为&#34; ID&#34;添加,然后被另一个名为&#34; OID&#34;;不清楚它应该删除第一个。 我应该推断,但我错过了。

消除&#34; Id&#34;专栏,问题解决了。

感谢您的关注。