【发布时间】:2012-02-13 11:24:58
【问题描述】:
我将 eclipse 与 Jboss 6.0 服务器和 derby 嵌入式驱动程序一起使用。 我创建了一个数据库:
CREATE TABLE QUOTAZIONI.QuotazioniBancarie
(
Cliente VARCHAR(50) NOT NULL,
Prodotto VARCHAR(50) NOT NULL,
Prezzo DOUBLE NOT NULL,
Data DOUBLE NOT NULL,
CONSTRAINT primary_key PRIMARY KEY (Cliente, Prodotto, Prezzo, Data)
);
并使用 JPA 工具关联一个实体:Quotazionibancarie.java 和 QuotazionibancariePK.java(有 2 个文件,因为它是复合主键)
保留行的代码片段如下:
.
.
.
@PersistenceContext(unitName = "P1Server")
private EntityManager em;
.
.
.
EntityTransaction et = em.getTransaction();
et.begin();
Quotazionibancarie q1 = new Quotazionibancarie(q.getCliente(), q.getProdotto(), q.getPrezzo());
em.persist(q1);
et.commit();
其中 q 类是我为实用程序创建的类。 数据字段是自动生成的。
当我尝试将内容保存在数据库中时,服务器没有给我任何错误,但也没有保存行。
11:36:02,710 INFO [STDOUT] Hibernate:
11:36:02,710 INFO [STDOUT] insert
11:36:02,711 INFO [STDOUT] into
11:36:02,711 INFO [STDOUT] Quotazionibancarie
11:36:02,711 INFO [STDOUT] (cliente, data, prezzo, prodotto)
11:36:02,711 INFO [STDOUT] values
11:36:02,711 INFO [STDOUT] (?, ?, ?, ?)
我在论坛上进行了搜索,但没有找到任何适合我的问题的解决方案。 知道是什么导致了我的问题以及如何解决它吗?
persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" 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/persistence_2_0.xsd">
<persistence-unit name="P1Server" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/Quotazioni</jta-data-source>
<class>entities.Quotazionibancarie</class>
<class>entities.QuotazionibancariePK</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
</persistence-unit>
</persistence>
quotazioni-ds.xml
<?xml version="1.0" encoding="UTF-8" ?>
<datasources>
<local-tx-datasource>
<!-- The jndi name of the DataSource, it is prefixed with java:/ -->
<jndi-name>Quotazioni</jndi-name>
<driver-class>org.apache.derby.jdbc.EmbeddedDriver</driver-class>
<connection-url>jdbc:derby://localhost:1527/Quotazioni;create=true</connection-url>
<user-name>root</user-name>
<password>root</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>5</idle-timeout-minutes>
<track-statements />
<depends>jboss:service=Derby</depends>
</local-tx-datasource>
<mbean code="org.jboss.jdbc.DerbyDatabase" name="jboss:service=Derby">
<attribute name="Database">Quotazioni</attribute>
</mbean>
</datasources>
如果我需要指定其他信息,请告诉我。
谢谢。 斯特凡诺
【问题讨论】: