-->
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.  [ 4 posts ] 
Author Message
 Post subject: HQL Abfrage: Spalte ausschließen
PostPosted: Fri Feb 06, 2009 11:53 am 
Newbie

Joined: Wed Sep 17, 2008 5:26 pm
Posts: 17
Sagen wir, ich hätte folgende Tabelle "User" und folgende Spaltennamen:

[ id | name | password ]

Dazu korrespondiert natürilich ein Java-Objekt "User".
Beim Laden von Benutzern aus der Datenbank würde ich gerne Hibernate sagen, dass es nicht die Spalte password auslesen soll, d.h. nach einer Abfrage hätte ich gerne, dass die Variable "password" in dem Java-Objekt "null" ist.

Anschaulich suche ich also sowas wie
"from User exclude password"

Gibt es sowas in Hibernate?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 06, 2009 7:08 pm 
Newbie

Joined: Mon Jan 26, 2009 3:43 pm
Posts: 2
Hallo toom,

Code:
User user = session.createQuery("SELECT new xxx.yyy.User(u.id, u.name) FROM User u").setReadOnly(true).uniqueResult();


Sollte zum gewünschten Ergebnis führen. Wichtig ist, das deine User Klasse einen Konstruktor für die Parameter id und name hat. Ich würde solche Objekte auch nur readOnly verwenden, da die Gefahr groß ist sich versehentlich Werte zu überschreiben.

Gruß Luca


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 09, 2009 5:55 pm 
Newbie

Joined: Mon May 19, 2008 9:27 am
Posts: 8
Hallo luca4,

was mach ich denn, wenn ich keinen Constructor habe (und auch keinen anlegen will).

luca4 wrote:
Hallo toom,

Code:
User user = session.createQuery("SELECT new xxx.yyy.User(u.id, u.name) FROM User u").setReadOnly(true).uniqueResult();


Sollte zum gewünschten Ergebnis führen. Wichtig ist, das deine User Klasse einen Konstruktor für die Parameter id und name hat. Ich würde solche Objekte auch nur readOnly verwenden, da die Gefahr groß ist sich versehentlich Werte zu überschreiben.

Gruß Luca


Top
 Profile  
 
 Post subject:
PostPosted: Thu Feb 19, 2009 6:37 pm 
Newbie

Joined: Mon Jan 26, 2009 3:43 pm
Posts: 2
Hi univero,

sorry für die späte Rückmeldung, bin derzeit etwas im Stress.

Quote:
was mach ich denn, wenn ich keinen Constructor habe (und auch keinen anlegen will).


Gute Frage ;)
Das einzige was mir spontan einfällt wäre evt. mithilfe eines Interceptors oder Events Felder nach dem Laden gezielt auf null zu setzten. Allerdings ist das sicher keine ideale Lösung ...

Gruß luca


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