Wenn du ihn nicht zweimal speichern moechtest, musst du erst schauen, ob er schon da ist.
Wenn er schon da ist nutzt du diesen Datensatz einfach.
Wenn nicht, erzeugst du einfach nen neuen.
Ich hab mir dazu folgende Methode geschrieben:
Code:
@SuppressWarnings("unchecked")
public static Linie getOrCreate(String name) {
Session session=HibernateHafas.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query q = session.createQuery("from Linie where name = ?");
q.setString(0,name);
List<Linie> l=q.list();
session.getTransaction().commit();
if(l.size()==0){
return new Linie(name);
}else{
return l.get(0);
}
}