亲爱的论坛朋友们: 我正在通过示例学习“学习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 <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>
提前感谢您的关注。
向所有人致以问候。
答案 0 :(得分:0)
亲爱的论坛朋友们:
他解决了这个问题。
之所以发生同样的事,是因为其中一个练习名为&#34; ID&#34;添加,然后被另一个名为&#34; OID&#34;;不清楚它应该删除第一个。 我应该推断,但我错过了。
消除&#34; Id&#34;专栏,问题解决了。
感谢您的关注。