IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

ConstraintViolationException pour une cle primaire composite


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 731
    Par défaut ConstraintViolationException pour une cle primaire composite
    Bonjour,
    je travaille sur une application utilisant JPA et oracle. J'ai une classe avec une cle primaire composite

    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
     
    @Entity
    @Table(schema = "ACCOUNT", name = "RLOGTRACE", uniqueConstraints = @UniqueConstraint(columnNames = {"LOG_DT", "LOG_USER_ID", "LOG_TYPE"}))
    public class RLogtrace implements java.io.Serializable {
     
     
    	private RLogtraceId id;
     
            @EmbeddedId
            public RLogtraceId getId() {
                  return this.id;
            }
    ............
    .............
    ............
    et

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    @Embeddable
    public class RLogtraceId implements java.io.Serializable {
     
     
    	private Date logDt;
    	private String logUserId;
    	private Character logType;
     
    	public RLogtraceId() {
    	}
     
    	public RLogtraceId(Date logDt, String logUserId, Character logType) {
    		this.logDt = logDt;
    		this.logUserId = logUserId;
    		this.logType = logType;
    	}
     
    	@Column(name = "LOG_DT")
            @Temporal(TemporalType.TIMESTAMP)
    	public Date getLogDt() {
    		return this.logDt;
    	}
     
    	public void setLogDt(Date logDt) {
    		this.logDt = logDt;
    	}
     
    	@Column(name = "LOG_USER_ID", length = 30)
    	public String getLogUserId() {
    		return this.logUserId;
    	}
     
    	public void setLogUserId(String logUserId) {
    		this.logUserId = logUserId;
    	}
     
    	@Column(name = "LOG_TYPE", length = 1)
    	public Character getLogType() {
    		return this.logType;
    	}
    ..........
    }

    avec la table RLOGTRACE suivante :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    CREATE TABLE "ACCOUNT"."RLOGTRACE"
      (
        "LOG_DT" DATE,
        "LOG_USER_ID"     VARCHAR2(30 BYTE),
        "LOG_TYPE"        CHAR(1 BYTE),
    .....................
    .....................
      )
     
      TABLESPACE "ACCOUNT" ;
    COMMENT ON COLUMN "ACCOUNT"."R_LOGTRACE"."LOG_DT"
    IS
      'Date and time of the logged event.';
      COMMENT ON COLUMN "ACCOUNT"."R_LOGTRACE"."LOG_USER_ID"
    IS
      'Related user login.';
      COMMENT ON COLUMN "ACCOUNT"."R_LOGTRACE"."LOG_TYPE"
    IS
      'TYPE OF event logged:
    - I FOR login event,
    - O FOR logout event,
     
    CREATE UNIQUE INDEX "ACCOUNT"."PK_R_LOGTRACE" ON "ACCOUNT"."R_LOGTRACE"
      (
        "LOG_DT", "LOG_USER_ID", "LOG_TYPE"
      )
    Quand j'essaye de créer un objet RLogtrace dans la base, j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    JDBCExceptionReporter [ERROR] ORA-00001: unique constraint (ACCOUNT.PK_R_LOGTRACE) violated
     
    2010-08-19 14:39:49 AbstractFlushingEventListener [ERROR] Could not synchronize database state with session
    org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
    	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
    Je ne vois pas où est l'erreur. Merci pour votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 731
    Par défaut
    Bonjour,
    j'ai oublie de donner la methode ou je rajoute un RLogtrace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public RLogtrace updateTraceLog(Character logType, String logUserId, String logError){
          RLogtraceId rLogtraceId = new RLogtraceId();
          rLogtraceId.setLogDt(new Date());
          rLogtraceId.setLogType(logType);
          rLogtraceId.setLogUserId(logUserId);      
          RLogtrace rLogTrace = new RLogtrace();
          rLogTrace.setId(rLogtraceId);
      .....................
          rLogTrace = (RLogtrace) rLogTraceDao.create(rLogTrace);
    		return rLogTrace;
    	}

Discussions similaires

  1. [2.0] Convertir une cle primaire byte[] en string
    Par freddyboy dans le forum Accès aux données
    Réponses: 14
    Dernier message: 20/12/2010, 12h05
  2. Réponses: 5
    Dernier message: 19/04/2007, 12h45
  3. Réponses: 1
    Dernier message: 11/08/2006, 23h02
  4. comment supprimer une clé primaire d'une table ?
    Par polianita dans le forum Access
    Réponses: 10
    Dernier message: 03/08/2006, 15h34
  5. Réponses: 8
    Dernier message: 26/09/2005, 22h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo