Zdravím, podobný problém jsme řešili s glassfishem již před několika lety. Glassfish neuměl vytvořit a používat námi pojmenovanou sequenci. Automaticky vytvářel sequence ve tvaru
nazev_tabulky_id_seq Dokonce jsem na to psal i dotaz přímo do glassfish. http://forums.java.net/jive/thread.jspa?messageID=211876𳮤 V každém případě jiná implementace JPA funguje dle očekávání (např. hibernate). Fafi On Fri, Feb 19, 2010 at 2:32 PM, Dusan Zatkovsky <[email protected]> wrote: > Ahoj. > > Laborujem s postgres + glassfish a persistenciou. Tabulky si zatial nechavam > generovat persistentnou vrstvou. > > Moj problem je, ze sa nevytvara sequence, napriek tomu, ze som to anotoval. > > Utrzky kodu a konfiguracie: > > @Entity > public class ClientRequest implements Serializable { > > private static final long serialVersionUID = 1L; > �...@id > �...@sequencegenerator(name = "MYSEQUENCE", sequenceName = "mysequence") > �...@generatedvalue(strategy = GenerationType.SEQUENCE, generator > = "MYSEQUENCE") > �...@column(name = "id", nullable = false) > private Long id; > > <persistence-unit name="appVersionPU" transaction-type="JTA"> > <provider>oracle.toplink.essentials.PersistenceProvider</provider> > <jta-data-source>jdbc/test</jta-data-source> > <exclude-unlisted-classes>false</exclude-unlisted-classes> > <properties> > <property name="toplink.logging.level" value="FINER"/> > <property name="toplink.target-database" value="PostgreSQL"/> > <property name="toplink.ddl-generation" value="create-tables"/> > </properties> > </persistence-unit> > > > Log z aplikacneho servera: > > ... connecting(DatabaseLogin( > > ... CREATE TABLE CLIENTREQUEST (id SERIAL NOT NULL, CUSTOMERCOMPANY > VARCHAR(255), CUSTOMERSERIAL VARCHAR(255), CUSTOMERNAME VARCHAR(255), APPNAME > VARCHAR(255), CLIENTIP VARCHAR(255), PRIMARY KEY (id)) > > ... INSERT INTO CLIENTREQUEST (CUSTOMERCOMPANY, CUSTOMERSERIAL, CUSTOMERNAME, > APPNAME, CLIENTIP) VALUES (?, ?, ?, ?, ?) > > ...select currval('mysequence') > > Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build 36 > (02/17/2007))): oracle.toplink.essentials.exceptions.DatabaseException > Internal Exception: org.postgresql.util.PSQLException: ERROR: > relation "mysequence" does not existError Code: 0 > Call:select currval('mysequence') > Query:ValueReadQuery() > > > Moja otazka znie, preco ta sekvencia nebola vytvorena. Tusi niekto? > > Diky > > -- > Dusan > > > ... tykajte mi >
