Bonjour,
je veux faire tout simplement une classe de persistance pour lire la prochaine valeur d'une sequenc et l'utiliser plus tard :
ma classe de persistance est comme suivant :
et dans le code d'appel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 @Entity @SequenceGenerator(name="MAX_AJUST", sequenceName="MAX_AJUST", allocationSize=10) public class SfrPosSeqId //extends AbstractEntity implements Argument { //allocationSize=100 => Here think use AllocationSize @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="MAX_AJUST") @Id Long seqId; /** * @return the seqId */ public Long getSeqId() { return seqId; } }
Mais dans mes logs j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SfrPosSeqId inSfrPosSeqId = new SfrPosSeqId(); trxContext.persist(inSfrPosSeqId); trxContext.flush(); trxContext.getTransaction().commit(); /* Get the query result*/ //TODO this to get value Long seqId = (Long)inSfrPosSeqId.getSeqId();
javax.persistence.PersistenceExcep
tion: Exception [EclipseLink-4002] (Eclipse Persistence Services - 1.1.0.r3634): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00942: table or view does not exist
Error Code: 942
Call: INSERT INTO SFRPOSSEQID (SEQID) VALUES (?)
bind => [4]
Query: InsertObjectQuery(com.cge.mvne.mysoi.persistence.entities.SfrPosSeqId@107f742)
est ce j'utilise mal l'api pour récuperer la nextval de ma sequenc? car ya un essaie d'ecriture.
Merci
Partager