public class Person implements PersistentMarker {
private String name;
private int age;
private Address address;
private CompanyIfc company;
plain getter/setter ...
}
The ApplicationStarter establishes a ClassLoader wich does bytecode enhancements for every loaded class that implements the PersistentMarker interface. So you dont need the static enhancement described above. Just use the class "de.ama.db.tools.ApplicationStarter" with your app as first parameter, followed by your command-line parameters. Your App is startet via the standard "static main(String[] args)" method. If you start your application usualy like this
java -cp ... your_application_class param1 param2 ...
you would do instead
java -cp ... de.ama.db.tools.ApplicationStarter your_application_class param1 param2 ...
DB.createDB( "localhost", "user", "admin", "password");
DB.joinCatalog("miller");
try {
Person person = new Person();
person.setName("marc");
person.setAdress(new Address("New York"));
person.setCompany(new Company);
DB.session().setObject(person);
DB.session().commit();
} catch (Exception e) {
DB.session().rollback();
}
Person person = (Person)DB.session().getObject(new Query(Person.class,"name",Query.EQ,"marc"));
OidIterator itr = DB.session().getObjects(new Query(Person.class, "address->city", Query.EQ,"New York"));