-->
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: abfrage und order-by auf null-objekte
PostPosted: Sat Jun 09, 2007 5:33 pm 
Newbie

Joined: Tue Oct 24, 2006 6:24 am
Posts: 7
Hibernate version: 3.2.1
mysql: 5.0
java: 6.0

hallo,

habe folgendes Problem:

Code:
hsqlQuery = "FROM client WHERE company=null ";

liefert alle werte korrekt

Code:
hsqlQuery = "FROM client WHERE company.name='eine Firma' ";

liefert ebenfalls alle werte korrekt.

ABER:
Code:
hsqlQuery = "FROM client WHERE company=null OR company.name='Firma1'";


liefert nur die rows in denen company NICHT null ist -> falsch.

das gleiche problem tritt auf, wenn nach company geordert wird:
Code:
hsqlQuery = "FROM client ORDER BY company.name"

liefert ebenfalls nur rows in denen company NICHT null ist -> auch falsch, weil alle clients ohne companies (also company=null) verworfen werden.


ich will aber alle 'clients' haben die keiner company zugeordnet sind oder deren company-name 'firma1' heißt und evtl. auch nach company.name sortiert (nulls am ende).

hat jemanden tipps, ob/wie das geht ?
( und ja, ich hab' mir schon einen ast abgegoogelt *g*)

dank' euch vielmals
franky



mapping:
Code:
<class name="client" table="client">
   <id name="id" column="ID" type="long">
      <generator class="native"/>
   </id>
   <property name="firstname" column="firstname" />
   <many-to-one name="company" column="ID_company" class="company" lazy="false" fetch="join"/>
</class>
   
<class name="company" table="company">
   <id name="id" column="ID" type="long">
      <generator class="native"/>
   </id>
   <property name="name" column="name"/>
</class>   
[/code]


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jul 09, 2007 2:42 pm 
Newbie

Joined: Tue Sep 19, 2006 6:47 am
Posts: 15
Du solltest einen LEFT OUTER JOIN benutzen, damit du auch die Einträge bekommst, deren Werte null sind.

Allgemeine Doku zu INNER und OUTER JOINS: http://aktuell.de.selfhtml.org/artikel/ ... right_join
Doku zu HQL-Joins: http://www.hibernate.org/hib_docs/refer ... ryhql.html


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jul 09, 2007 6:41 pm 
Newbie

Joined: Tue Oct 24, 2006 6:24 am
Posts: 7
cudennec wrote:
Du solltest einen LEFT OUTER JOIN benutzen, damit du auch die Einträge bekommst, deren Werte null sind.

Allgemeine Doku zu INNER und OUTER JOINS: http://aktuell.de.selfhtml.org/artikel/ ... right_join
Doku zu HQL-Joins: http://www.hibernate.org/hib_docs/refer ... ryhql.html



danke!
so hat's funktioniert:

FROM client left join fetch company.name companyName WHERE companyName=null OR company.name='Firma1'


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.