2016-06-13 6 views
0

Dies ist mein Code in DAOImpl (Hibernate):Hibernate Fehler, wenn Sitzung Commit

@Transactional 
    public void insert(Cage cage) { 

     Session session = null; 
     Transaction tx = null; 

     try{ 
      session = getHibernateTemplate().getSessionFactory().openSession(); 
      tx = session.beginTransaction(); 
      session.saveOrUpdate(cage); 
      session.flush(); 
      session.clear(); 
      tx.commit(); 

     }catch(RuntimeException e){ 
      try{ 
       tx.rollback(); 
      }catch(RuntimeException rbe){ 
       rbe.printStackTrace(); 
       System.out.println("Couldn’t roll back transaction"); 
      } 
      throw e; 
     }finally{ 
      if(session!=null){ 
       session.close(); 
      } 
     } 
    } 

Wenn zum zweiten Mal Operationen Dateneingabe (Same PK) erfolgt mit diesem Problem:

org.hibernate.exception.ConstraintViolationException: konnte nicht Batch-JDBC ausführen Update

+0

Sie sollten den gesamten Stack-Trace einbeziehen, nicht die erste Zeile. – azurefrog

+0

Primärschlüssel sollte für jeden Eintrag eindeutig sein, zweiter Eintrag mit demselben PK wird definitiv diese Ausnahme geben. – kirti

Antwort

1

Wie pro Ihre Frage

When for the second time operations data entry (Same PK) takes place with this problem : org.hibernate.exception.ConstraintViolationException: 

Sie versuchen, denselben Primärschlüssel zweimal einzufügen. Sie können den gleichen Primärschlüssel für zwei Einträge in der Datenbank nicht haben.

Primärschlüssel müssen UNIQUE-Werte enthalten. Überprüfen Sie diesen Link http://www.w3schools.com/sql/sql_primarykey.asp

Keep Primärschlüssel eindeutig und Sie erhalten diese Ausnahme nicht. Und wenn Sie für diese coloumn doppelte Einträge müssen dann nicht, dass es ein Primärschlüssel

Um die automatische Erzeugung id

@Id @GeneratedValue (strategy = GenerationType.AUTO) @Column (name = "\" machen ID \ "") private int id;

+0

Primärschlüssel ist Sequenz in BO, wenn ich zum zweiten Mal Operationen eingeben Dateneingabe erfolgt mit diesem Problem für Same PK –

Verwandte Themen