Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/model/CollisionHibernateFactory.java @ 9074:766890addcb2
state To client communication;
author | gernotbelger |
---|---|
date | Fri, 18 May 2018 17:26:26 +0200 |
parents | |
children |
line wrap: on
line source
/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde * Software engineering by * Björnsen Beratende Ingenieure GmbH * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.artifacts.model; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.dive4elements.river.backend.SessionHolder; import org.dive4elements.river.model.River; import org.dive4elements.river.model.sinfo.Collision; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; /** * @author Domenico Nardi Tironi * */ public class CollisionHibernateFactory { public static List<Collision> getCollisionsByRiver(final River river) { final String queryStr = "FROM Collision WHERE river_id = :river_id"; final List<Collision> list = new ArrayList<>(); final Session session = SessionHolder.HOLDER.get(); try { final Transaction transaction = session.beginTransaction(); final Query query = session.createQuery(queryStr); query.setParameter("river_id", river.getId()); final List<Collision> collisions = query.list(); final Iterator<Collision> iterator = collisions.iterator(); while (iterator.hasNext()) { final Collision coll = iterator.next(); // final CollisionHibernateFactory factory = new CollisionHibernateFactory(coll.getId(), coll.getYear()); list.add(coll); } transaction.commit(); // komisch, dass die Iteration davor im Code steht... } catch (final HibernateException e) { e.printStackTrace(); } return list; } }