-->
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.  [ 3 posts ] 
Author Message
 Post subject: HQL query bei m-n Beziehung mit Einschränkungen
PostPosted: Tue Mar 14, 2006 10:19 am 
Beginner
Beginner

Joined: Tue Mar 14, 2006 10:00 am
Posts: 22
Hibernate version: 3.1
Database: ProstgreSQL 8.1

Hallo Leute!
Ich bin schon Stundenlang am suchen nach einer Lösung!
Ich hab eine simple m-n Beziehung (Project<->Attribute) und möchte jetzt alle Attribute eines bestimmten Projectes haben.
Simple aufgabe dachte ich, aber irgendwo ist da der wurm drinnen.
sobal ich bei den unten angegebenen HQL Statement die "with" clausle anhänge bekomme ich eine "DataException" von Hibernate mit der Meldung "could not execute query". Den Query hab ich mit dem HibernateTool abgesetzt und auch im rahmen eines Programms versucht beides schlug fehl. Nun hab ich mir den generierten SQL-Query in ein db-tool gepasted und dort probiert. nur leider kann dieses das nicht ausführen (alias is nichtdefiert, weil er for der definition verwendet wird)

- Hmmmm? Hat irgendwer den Fehler schon gefunden in meinen mappings?
- Kann mir wer einen Workaround bieten?
- Wo könnte der Fehler liegen?


Mapping documents: Attribute
Code:
  <class name="Attribute" table="Attribute">
    <id name="id" type="long" column="attributeid">
      <generator class="native">
        <param name="sequence">SEQ_AttributeID</param>
      </generator>
    </id>
    [...] some properties [...]
    <set name="projects" table="project_attribute" inverse="true">
      <key column="attributeid"/>
      <many-to-many column="projectid" class="Project"/>
    </set>
  </class>


Mapping documents: Project
Code:
  <class name="Project" table="Project">
    <id name="id" type="long" column="projectid">
      <generator class="native">
        <param name="sequence">SEQ_ProjectID</param>
      </generator>
    </id>
    [...] some properties [...]
    <set name="attributes" table="Project_Attribute">
      <key column="projectid"/>
      <many-to-many column="attributeid" class="Attribute"/>
    </set>
  </class>


HQL Statement:
Code:
from Attribute as attrib inner join attrib.projects as pro with pro.id = ?


Top
 Profile  
 
 Post subject:
PostPosted: Wed Mar 15, 2006 4:06 am 
Beginner
Beginner

Joined: Thu Apr 21, 2005 5:37 am
Posts: 45
Location: Switzerland
ich würde folgendes vorschlagen:

Code:
from Project as p where p.id=?


Dann kannst du vom Project auf die Collection von Attributes zugreifen. Oder direkt sowas:

Code:
select p.attributes from Project as p where p.id=?


Top
 Profile  
 
 Post subject:
PostPosted: Wed Mar 15, 2006 8:55 am 
Beginner
Beginner

Joined: Tue Mar 14, 2006 10:00 am
Posts: 22
hi keule!

Die lösung ist so einfach doch so fern!!! :-(
danke dafür!

naja auf die einfachsten sachen kommt man natürlich nicht selber. *schäm*

tom


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 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.