Récupérer valeur d'une séquence
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 :
Code:
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;
}
} |
et dans le code d'appel :
Code:
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(); |
Mais dans mes logs j'ai l'erreur suivante :
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