teichmann@5844: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5844: * Software engineering by Intevation GmbH teichmann@5844: * teichmann@5992: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5844: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5992: * documentation coming with Dive4Elements River for details. teichmann@5844: */ teichmann@5844: teichmann@5829: package org.dive4elements.river.model; aheinecke@5437: aheinecke@5437: import java.io.Serializable; aheinecke@5437: import java.util.List; aheinecke@5437: aheinecke@5437: import javax.persistence.Column; aheinecke@5437: import javax.persistence.Entity; aheinecke@5437: import javax.persistence.Id; aheinecke@5437: import javax.persistence.JoinColumn; aheinecke@5437: import javax.persistence.OneToOne; aheinecke@5437: import javax.persistence.Table; aheinecke@5437: aheinecke@5437: import com.vividsolutions.jts.geom.Geometry; aheinecke@5437: aheinecke@5437: import org.hibernate.Session; aheinecke@5437: import org.hibernate.Query; aheinecke@5437: import org.hibernate.annotations.Type; aheinecke@5437: teichmann@5829: import org.dive4elements.river.backend.SessionHolder; aheinecke@5437: aheinecke@5437: @Entity aheinecke@5437: @Table(name = "jetties") aheinecke@5437: public class Jetty aheinecke@5437: implements Serializable aheinecke@5437: { aheinecke@5437: private Integer id; aheinecke@5437: private River river; aheinecke@5437: private Geometry geom; aheinecke@5437: aheinecke@5437: public Jetty() { aheinecke@5437: } aheinecke@5437: aheinecke@5437: aheinecke@5437: @Id aheinecke@5437: @Column(name = "id") aheinecke@5437: public Integer getId() { aheinecke@5437: return id; aheinecke@5437: } aheinecke@5437: aheinecke@5437: aheinecke@5437: public void setId(Integer id) { aheinecke@5437: this.id = id; aheinecke@5437: } aheinecke@5437: aheinecke@5437: aheinecke@5437: @OneToOne aheinecke@5437: @JoinColumn(name = "river_id") aheinecke@5437: public River getRiver() { aheinecke@5437: return river; aheinecke@5437: } aheinecke@5437: aheinecke@5437: aheinecke@5437: public void setRiver(River river) { aheinecke@5437: this.river = river; aheinecke@5437: } aheinecke@5437: aheinecke@5437: @Column(name = "geom") aheinecke@5437: @Type(type = "org.hibernatespatial.GeometryUserType") aheinecke@5437: public Geometry getGeom() { aheinecke@5437: return geom; aheinecke@5437: } aheinecke@5437: aheinecke@5437: aheinecke@5437: public void setGeom(Geometry geom) { aheinecke@5437: this.geom = geom; aheinecke@5437: } aheinecke@5437: aheinecke@5437: public static List getJetties(int riverId, int kindId) { aheinecke@5437: Session session = SessionHolder.HOLDER.get(); aheinecke@5437: aheinecke@5437: Query query = session.createQuery( aheinecke@5437: "from Jetty where river.id =:river_id and kind_id=:kind_id"); aheinecke@5437: query.setParameter("kind_id", kindId); aheinecke@5437: query.setParameter("river_id", riverId); aheinecke@5437: aheinecke@5437: return query.list(); aheinecke@5437: } aheinecke@5437: } aheinecke@5437: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :