cosmochaosmaker hat gesagt.:
Die ADODB kann ganau das was Du machem willst.
Such mal im Forum!
MfG cosmo
Adodb ist wirklich etwas anderes als Hibernate.
ADODB gibt dir Datasets und vergleichbares, Hibernate / JDO und Co gibt direkt die betreffenden Objecte, bzw speichert diese Objecte ohne den Umweg über DataSets, RecordSets, Irgendwelche Sets zu gehen.
Beispiel für JDO (was Hibernate sehr ähnlich ist):
Code:
configuration:
<jdo>
<package name="de.jorona.viadm.jdobeans">
<class name="UserBean" persistence-capable-superclass="de.jorona.viadm.jdobeans.HumanBean" >
<field name="messagesIncome" >
<collection element-type="MessageBean" />
</field>
<field name="messagesOutgoing" >
<collection element-type="MessageBean" />
</field>
</class>
.....
Danach kann mann eine UserBean mit mehreren MessageBeans automatisch in
einer DB speichern
public static void main(String[] args) {
PersistenceManager pm = ..... (initialisieren)
ArrayList messages = Arrays.asList([new MessageBean(), new MessageBean()];
UserBean userBean = new UserBean();
userBean.setMessagesIncome(messages);
userBean.setMessagesOutgoing(messages);
pm.makePersistence(userBean)
}
Schreibt die UserBean mit all seinen Attributen in die Datenbank, und erstellt selbständig
die Tabellen für die UserBean, die MessageBean und schafft die relationen zwischen den
UserBeans und die betreffende Messages.
Herauslesen aus der Datenbank geht wie folgt
Code:
public static void main(String[] args ) {
Extent extent = getPersistenceManager().createExtent(UserBean.class);
for(Userbean bean: extent) {
// bean ist eine gespeicherte UserBean
for(MessageBean income: bean.getMessagesIncome()) {
//income ist eine MessageBean die in relation zu der userbean stand
System.out.println(income.getMessage());
}
}
}
Sprich dieser Code liest sämmtliche gespeicherten Objecte aus der Datenbank
und 'bei bedarf' auch deren MessageBeans.
Sprich mann hat einen OOP Zugriff auf relational gespeicherte Daten. Das ist etwas
komplett anderes wie ADODB.