2016-03-24 30 views
1

Yabancı kısıtlamalarla istisna veren toplama türüne sahip hazırda bekletme silsilesinin üzerine sıkışmış durumdayım. , SQLState 1205: İşte Hazırda bekleme türü olan dize türü toplama

benim hazırda tablo

@Entity 
@Table 
public class FrontRequest implements Serializable { 

    private static final long serialVersionUID = 1L; 


    @Id 
    @GeneratedValue(strategy= GenerationType.AUTO) 
    private Long tutorfront_id; 

    @Column 
    private String tutorialType; 

    @Column 
    private String tutorialLevel; 

    @ElementCollection(fetch=FetchType.EAGER) 
    @Fetch(value = FetchMode.SELECT) 
    private Collection<String> tutorialSubjects= new HashSet<String>(); 

    @Column 
    private String tutorialCity; 

    @Column 
    private String noOfStudent; 

    @Column 
    private String classWeek; 

    @Column 
    private String tutionFee; 

    @Column 
    private String tutionFeerate; 

    @Column 
    private String tutorSex; 

    @Column 
    private String tutorEducation; 


    @Column 
    private Date postingDate; 

    @Column 
    private String studentSchool; 
} 

ve burada nesneyi

public boolean removeFrontRequest(Long id) { 
     // TODO Auto-generated method stub 
     Session session= SessionFactoryImpl.returnService().getCurrentSession(); 
     Transaction tx; 

     if(session.getTransaction() != null 
       && session.getTransaction().isActive()){ 
      tx=session.getTransaction(); 
     } 
     else{ 
      tx= session.beginTransaction(); 
     } 


     try{ 

      Query query=session.createQuery("from FrontRequest where tutorfront_id =:id"); 
      query.setParameter("id", id); 
      FrontRequest frontRequest=(FrontRequest) query.list().get(0); 
      session.delete(frontRequest); 
      if(!tx.wasCommitted()) { 
        tx.commit(); 
      } 
     } 
     catch(Exception e){ 
     return false; 
     } 
     return true; 
    } 

silmek için benim hizmet metodudur Ama kilit ile istisna veriyor: SQL Hata 40001 Kilitleme bekleme zaman aşımı aşıldı; işlemi yeniden başlatmayı deneyin.

Lütfen yanlış yaptığım yeri önerebilirsiniz. Burada ..

Teşekkür

+0

[Bu SO gönderisine göz atın.] (Http://stackoverflow.com/questions/5836623/getting-lock-wait-timeout-exceeded-try-restarting-transaction-even-though-im) yardımcı ol. – rcyza

+0

Diğer bazı işlemlerde, masa üzerinde bir kilit veya silmeye çalıştığınız kayıt vardır. Ne olduğunu öğren ve durdur. Oku [buradan] (http://www.coderanch.com/mobile/t/447114/ORM/databases/Error-Deleting-Persisted-Objects-Hibernate?foo=a). –

cevap

0

! = == ile değiştirerek eğer durumu düzeltin. İşlemi tamamladıktan sonra da bitirin.

+0

İşlem nasıl bitmeli. –

+0

Merhaba! Nedenini bilmiyorum ama çalışmıyor. Gerçekten bunun üzerine takıldım, masanın nasıl kilitlendiğini kontrol ettim bile açık masaları gösteriyor; sql ifadesi. Herhangi bir yolu, şimdi çalışıyor. Teşekkürler –

İlgili konular