Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java @ 311:ea3a438a7021
Backend access: Static methods are using the SessionHolder, too.
flys-artifacts/trunk@1694 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 14 Apr 2011 13:15:16 +0000 |
parents | 1a00cb4998a8 |
children | 94c176fdcb89 |
comparison
equal
deleted
inserted
replaced
310:6d2c8915e22c | 311:ea3a438a7021 |
---|---|
1 package de.intevation.flys.artifacts.model; | 1 package de.intevation.flys.artifacts.model; |
2 | 2 |
3 import java.util.List; | 3 import java.util.List; |
4 | |
5 import de.intevation.flys.backend.SessionFactoryProvider; | |
6 | 4 |
7 import de.intevation.flys.model.Annotation; | 5 import de.intevation.flys.model.Annotation; |
8 import de.intevation.flys.model.Range; | 6 import de.intevation.flys.model.Range; |
9 import de.intevation.flys.model.River; | 7 import de.intevation.flys.model.River; |
10 | 8 |
11 import org.hibernate.SessionFactory; | |
12 import org.hibernate.Session; | 9 import org.hibernate.Session; |
13 import org.hibernate.Query; | 10 import org.hibernate.Query; |
14 | |
15 | 11 |
16 /** | 12 /** |
17 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | 13 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
18 */ | 14 */ |
19 public class AnnotationsFactory { | 15 public class AnnotationsFactory { |
22 return getAnnotations(river.getName()); | 18 return getAnnotations(river.getName()); |
23 } | 19 } |
24 | 20 |
25 | 21 |
26 public static List<Annotation> getAnnotations(String river) { | 22 public static List<Annotation> getAnnotations(String river) { |
27 SessionFactory sf = SessionFactoryProvider.getSessionFactory(); | 23 Session session = SessionHolder.HOLDER.get(); |
28 Session session = sf.openSession(); | |
29 | 24 |
30 try { | 25 Query rangesQuery = session.createQuery( |
31 Query rangesQuery = session.createQuery( | 26 "from Range where river.name=:name"); |
32 "from Range where river.name=:name"); | 27 rangesQuery.setParameter("name", river); |
33 rangesQuery.setParameter("name", river); | 28 List<Range> ranges = rangesQuery.list(); |
34 List<Range> ranges = rangesQuery.list(); | |
35 | 29 |
36 Query query = session.createQuery( | 30 Query query = session.createQuery( |
37 "from Annotation where range in (:ranges)"); | 31 "from Annotation where range in (:ranges)"); |
38 query.setParameterList("ranges", ranges); | 32 query.setParameterList("ranges", ranges); |
39 return query.list(); | 33 return query.list(); |
40 } | |
41 finally { | |
42 session.close(); | |
43 } | |
44 } | 34 } |
45 } | 35 } |
46 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : | 36 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |