-->
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: Query Anfrage mit einer EmbeddedId
PostPosted: Mon Feb 11, 2008 3:04 pm 
Newbie

Joined: Wed Jul 26, 2006 4:45 pm
Posts: 2
Hibernate version:
3.2

Mapping documents:
Annotations 3.3.0

BankverbindungId.java
Code:
@Embeddable
public class BankverbindungId implements java.io.Serializable{

private long kontonummer;
   private long bankleitzahl;

   public BankverbindungId() {
   }

   public BankverbindungId(long kontonummer, long bankleitzahl) {
      this.kontonummer = kontonummer;
      this.bankleitzahl = bankleitzahl;
   }

   @Column(name = "KONTONUMMER", nullable = false, precision = 10, scale = 0)
   public long getKontonummer() {
      return this.kontonummer;
   }

   @Column(name = "BANKLEITZAHL", nullable = false, precision = 10, scale = 0)
   public long getBankleitzahl() {
      return this.bankleitzahl;
   }
}


Bankverbindung.java
Code:
public class Bankverbindung implements java.io.Serializable{

   private BankverbindungId id;
   private Kreditinstitut kreditinstitut;

   public Bankverbindung() {
   }

   public Bankverbindung(BankverbindungId id, Kreditinstitut kreditinstitut) {
      this.id = id;
      this.kreditinstitut = kreditinstitut;
   }

   @EmbeddedId
   @AttributeOverrides( {
         @AttributeOverride(name = "kontonummer", column = @Column(name = "KONTONUMMER", nullable = false, precision = 10, scale = 0)),
         @AttributeOverride(name = "bankleitzahl", column = @Column(name = "BANKLEITZAHL", nullable = false, precision = 10, scale = 0)) })
   public BankverbindungId getId() {
      return this.id;
   }
}


Full stack trace of any exception that occurs:
Exception in thread "AWT-EventQueue-0" org.hibernate.QueryException: could not resolve property: bankleitzahl of: persistence.Bankverbindung [from persistence.Bankverbindung b where b.bankleitzahl = 12345678 and b.kontonummer = 123456789]

Name and version of the database you are using:
oracle9i

Hallo,
ich habe mal eine Frage bezüglich Queries in denen man EmbeddedIds abfragen möchte. Mein Query sieht folgendermaßen aus:

Code:
query("from persistence.Bankverbindung b "
                  + " where b.bankleitzahl = "
                  + bankverbindung.getId().getBankleitzahl()
                  + " and b.kontonummer = "
                  + bankverbindung.getId().getKontonummer());


und führt leider zu oben genannter Fehlermeldung, obwohl im Datenbankschema die Attribute Kontonummer und Bankleitzahl existieren.

Vielen Dank für die Hilfe

mfg, ExElQ


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 19, 2008 12:21 pm 
Newbie

Joined: Thu Feb 07, 2008 12:38 pm
Posts: 4
Location: Franconia/Germany
Hi ExElQ ,

so wie ich das sehe, hast Du hier einen logischen Fehler gemacht.
Du formulierst....

>> :
>> from persistence.Bankverbindung b
>> where b.bankleitzahl = .....
>> and b.kontonummer = .....
>>

Deine Klasse Bankverbindung beinhaltet aber weder
bankleitzahl noch kontonummer, sondern BankverbindungId.
Und nur dieses wiederrum beinhaltet die beiden Felder.

Bilde es zunächst so ab, wie es auch der Tabellenlandschaft
entspricht.

mfG

_________________
Micha
Member of a friendly software team


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.