Mercurial > dive4elements > river
comparison backend/src/main/java/org/dive4elements/river/model/sinfo/Collision.java @ 9168:d2472018740c
Fixed dateformat with 4-digit year, added query method for collision years of a river
author | mschaefer |
---|---|
date | Thu, 21 Jun 2018 08:13:37 +0200 |
parents | 623b51bf03d7 |
children |
comparison
equal
deleted
inserted
replaced
9167:cb3a91dc4e3b | 9168:d2472018740c |
---|---|
156 final Session session = SessionHolder.HOLDER.get(); | 156 final Session session = SessionHolder.HOLDER.get(); |
157 final Query query = session.createQuery("FROM Collision WHERE (id=:id)"); | 157 final Query query = session.createQuery("FROM Collision WHERE (id=:id)"); |
158 query.setParameter("id", id); | 158 query.setParameter("id", id); |
159 return (Collision) query.list().get(0); | 159 return (Collision) query.list().get(0); |
160 } | 160 } |
161 | |
162 /** | |
163 * Selects from the database the years of the collisions of a river | |
164 */ | |
165 public static List<Integer> getYearsOfRiver(final River river) { | |
166 final Session session = SessionHolder.HOLDER.get(); | |
167 final Query query = session.createQuery("SELECT c.year, COUNT(cv) AS count" | |
168 + " FROM Collision c INNER JOIN c.values cv" | |
169 + " WHERE c.river=:river" | |
170 + " GROUP BY c.year" | |
171 + " ORDER BY c.year"); | |
172 query.setParameter("river", river); | |
173 final List<Integer> years = new ArrayList<>(); | |
174 final List<Object[]> rows = query.list(); | |
175 if (rows != null) { | |
176 for (int i = 0; i <= rows.size() - 1; i++) { | |
177 years.add(Integer.valueOf((int) rows.get(i)[0])); | |
178 } | |
179 } | |
180 return years; | |
181 } | |
161 } | 182 } |