-->
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: Liste von Werten für Query
PostPosted: Tue May 13, 2008 1:07 pm 
Newbie

Joined: Mon May 14, 2007 5:49 am
Posts: 17
Hallo Zusammen,

folgendes Problem:

Ich habe eine Liste mit Spiel IDs. Sagen wir mal 1-20.

Dann will ich in einer Tabelle schauen ob der Benutzer zu diesen Spielen schon Tipps abgegeben hat.

Das SQL würde in etwa so aussehen:

Code:
SELECT * FROM tips WHERE user_id = 3 AND (spiel_id = 1 OR spiel_id = 2 OR spiel_id = 3 .... )


Wie mache ich das mit Hibernate? Kann ich dem Query irgendwie eine Liste von Werten mitgeben?

Ist das überhaupt sinnvoll oder ist das Performance mäßig sowieso übel?

Danke für eure Hilfe im Voraus.

Viele Grüße
Oliver


Top
 Profile  
 
 Post subject:
PostPosted: Fri May 16, 2008 3:49 pm 
Newbie

Joined: Fri May 16, 2008 3:40 pm
Posts: 13
Woher kommt denn die Liste mit Werten?

Normalerweise würde ich annehmen, das so eine Liste auch persistent ist, und somit die Abfrage einen join über 2 Tabellen machen müsste.


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 17, 2008 5:23 am 
Newbie

Joined: Mon May 14, 2007 5:49 am
Posts: 17
Nein ... ist sie leider nicht.

Die Liste kommt von einer Benutzeranfrage. User bekommt 100 Spiele zur Auswahl ... wählt vielleicht 10 aus .. und die müssen in die Query.


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 17, 2008 4:31 pm 
Newbie

Joined: Fri May 16, 2008 3:40 pm
Posts: 13
In dem fall, sollst Du einfach den Array als Parameter übergeben.

In etwa:

Code:
Integer[] userSelection = new Integer[]{1,5,10};
Integer userId = new Integer(3);
Query q = session.createQuery("SELECT * FROM tips WHERE user_id = :userid AND spiel_id in (:list)");
q.setParameter("userid", userId);
q.setParameterList("list",userSelection);


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.