-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: JPA mit Hibernate, Postgres, Vererbung und Foreign Keys
PostPosted: Sat May 29, 2010 6:58 am 
Newbie

Joined: Wed May 12, 2010 3:26 am
Posts: 2
Hallo,

ich versuche momentan folgendes Klassendiagramm mit JPA umzusetzen:
Image

Das Ganze soll auf Postgres basieren, backend ist Hibernate.

Problem ist nun, dass bei jedem insert einer PriorityList eine ConstraintViolation Exception fliegt - und ich habe keine Ahnung warum ... Verwendet man die Hypersonic_in_memory Datenbank läuft das Ganze einwandfrei und ohne Fehler.

Hier die Links zu den einzelnen Dateien:
persistence.xml
DrawProcedure.java
PriorityList.java
Procedure.java
Ticket.java

Das Problem tritt auf, wenn man eine PriorityList instanziiert, eine bereits persistierte DrawProcedure injiziert und die PriorityList dann zu persistieren versucht. Setzt man das procedure Attribut explizit auf null, dann läuft der Code ebenfalls einwandfrei.

Der per log4j gemeldete Fehler sieht so aus:
Code:
DEBUG - JDBCExceptionReporter      - could not insert: [hsa.awp.campaign.model.PriorityList] [insert into "prioritylist" (PROCEDURE_ID, "id") values (?, ?)]
org.postgresql.util.PSQLException: ERROR: insert or update on table "prioritylist" violates foreign key constraint "fke8ddb842ecbfd49f"
  Detail: Key (procedure_id)=(1) is not present in table "drawprocedure".


Prüft man nun, ob genau diese Procedure mit id=1 in der Datenbank steht, so stellt man fest, dass der Datensatz vorhanden ist - nur warum wird er nicht von Hibernate gefunden?. Lässt man nochmal explizit einen findById auf die DrawProcedure laufen, so wird diese ebenfalls wunderbar gefunden.
Genauso steht in der Datenbank die richtige foreign-key Beziehung von PriorityList zu DrawProcedure: FOREIGN KEY (procedure_id) REFERENCES drawprocedure(id)

Hat irgendjemand eine Idee, an was das liegen kann? Ich wäre wirklich um jede Idee dankbar ...

Vielen Dank,
Matthias


Top
 Profile  
 
 Post subject: Re: JPA mit Hibernate, Postgres, Vererbung und Foreign Keys
PostPosted: Sat May 29, 2010 7:53 am 
Newbie

Joined: Wed May 12, 2010 3:26 am
Posts: 2
UPDATE:
Der Fehler tritt nur auf, wenn die Testklasse mit @Transactional Annotationen von Spring arbeitet. Es muss also irgendwas mit dem EntityManager von Spring zu tun haben ...


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.