Hallo,
ich habe folgendes Frage bezüglich Datenbankzugriff (Hibernate):
Angenommen, ich habe eine Klasse, die eine Komposition einer anderen Klasse enthält.
Wie persistiere ich nun am besten, wenn ich weitere Kompositions-Objekte erstelle? Mache ich immer einen persist mit der "äußeren" Klasse? Sodass dadurch ja alles mit gespeichert wird, also jede Komposition, ohne dass ich mich sonst noch um etwas kümmern muss.
Oder persistiere ich jedes Objekt einzeln?
Ich versuche es mal zu skizzieren, was ich meine:
Ich schätze, dass es zweckmäßiger ist Fruit in diesem Beispiel zu persistieren, sodass ich gar keine appleDao brauche, da die Komposition mit fruit sowieso gespeichert würde. Richtig?
Danke
ich habe folgendes Frage bezüglich Datenbankzugriff (Hibernate):
Angenommen, ich habe eine Klasse, die eine Komposition einer anderen Klasse enthält.
Wie persistiere ich nun am besten, wenn ich weitere Kompositions-Objekte erstelle? Mache ich immer einen persist mit der "äußeren" Klasse? Sodass dadurch ja alles mit gespeichert wird, also jede Komposition, ohne dass ich mich sonst noch um etwas kümmern muss.
Oder persistiere ich jedes Objekt einzeln?
Ich versuche es mal zu skizzieren, was ich meine:
Java:
public class controller {
private appleDao;
private fruitDao;
public void createNewApple() {
Apple apple = appleDao.createNew();
appleDao.persist(apple);
//alternativ:
//Fruit fruit = new Fruit();
//fruit.getAppleList().add(apple);
//fruitDao.persist(fruit);
}
}
public class fruit {
@OneToMany
private List<Apple> appleList;
}
public class fruitDao {
public void createNew() {
return new Fruit();
}
public void persist(Fruit f) {
em.persist(f);
}
//...
}
public class appleDao {
public void createNew() {
return new Apple();
}
public void persist(Apple a) {
em.persist(a);
}
//...
}
Ich schätze, dass es zweckmäßiger ist Fruit in diesem Beispiel zu persistieren, sodass ich gar keine appleDao brauche, da die Komposition mit fruit sowieso gespeichert würde. Richtig?
Danke
Zuletzt bearbeitet: