OpenJPA和Derby没有找到序列表

时间:2014-08-05 13:34:20

标签: java-ee jpa derby openjpa

我正在使用嵌入在WebSphere App Server 8.5.5.2和Derby 10.8中的openJPA 2.2.3。我试图获得一个简单事务的序列,但openJPA没有找到序列表。

Caused by: <openjpa-2.2.3-SNAPSHOT-r422266:1564471 fatal general error> org.apache.openjpa.persistence.PersistenceException: SEQUENCE 'EMPLOYEE_SEQ' does not exist. {VALUES NEXT VALUE FOR EMPLOYEE_SEQ} [code=20000, state=42X94]

这是我的DDL:

CREATE SEQUENCE EMPLOYEE_SEQ AS INTEGER START WITH 1 INCREMENT BY 1;

CREATE TABLE EMPLOYEE (
    EMPLOYEEID INT PRIMARY KEY,
    FIRSTNAME  VARCHAR(30),
    LASTNAME   VARCHAR(30),
    SALARY     DOUBLE
);

我的JPA代码:

@Id
@SequenceGenerator(name="EMPLOYEE_EMPLOYEEID_GENERATOR", sequenceName="EMPLOYEE_SEQ", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="EMPLOYEE_EMPLOYEEID_GENERATOR")
private int employeeid;

我的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="DWGenExJPA" transaction-type="JTA">
        <jta-data-source>jdbc/employee</jta-data-source>
        <class>com.xxx.xxx.model.Employee</class>
         <properties>
            <property name="openjpa.jdbc.DBDictionary" value="derby(NextSequenceQuery=VALUES NEXT VALUE FOR {0})"/>
            <property name="openjpa.Log" value="File=/tmp/org.apache.openjpa.log,DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE"/>
        </properties>
    </persistence-unit>
</persistence>

任何人都有使用derby和openJPA的序列经验可以帮助我。

谢谢,Brian

0 个答案:

没有答案