public class ArtikelTest {
public static void main(String[] args) {
Session session = InitSessionFactory.getInstance().getCurrentSession();
Artikel artikel1 = new Artikel();
artikel1.setName("ArtikelA");
session.beginTransaction();
List<ArtikelArt> artikelArts = session.createQuery("select h from Artikel_Art as h").list();
List <Artikel> artikel = session.createQuery("select h from Artikel as h").list();
session.close();
// Hier ist die Ausgabe für den ersten Tabelleneintrag den ich manuell angelegt habe richig. Er hat eine verknüpfte ArtikelArt
System.out.println(artikel.get(0).getArtikelArt().getName());
artikel1.setArtikelArt(artikelArts.get(0));
createArtikel(artikel1);
// Wenn ich danach select * from Artikel; ausführe sehe ich in der Tabelle eine 0 bei der Spalte artikel_art.
}
private static void createArtikel(Artikel artikel) {
Transaction tx = null;
Session session = InitSessionFactory.getInstance().getCurrentSession();
try {
tx = session.beginTransaction();
session.save(artikel);
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
if (tx != null && tx.isActive())
tx.rollback();
}
}
Code:
Es läuft durch ohne Fehler.