SessionFactory sessionFactory = new SessionFactory(configuration, "com.mycompany.app.domainclasses");
1.2. Driver
SessionFactory sessionFactory = new SessionFactory(driver, "com.mycompany.app.domainclasses");
1.2.1 Embedded driver instance
GraphDatabaseService db = new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(new File(storeDir))
.loadPropertiesFromFile(pathToConfigFile)
.newDatabase();
GraphDatabaseService db = new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(new File(storeDir))
.setConfig( GraphDatabaseSettings.pagecache_memory, "512M" )
.newDatabase();
EmbeddedDriver driver = new EmbeddedDriver(db)
SessionFactory sessionFactory = new SessionFactory(driver, "com.mycompany.app.domainclasses");
1.3 Multiple entity packages
SessionFactory sessionFactory = new SessionFactory(configuration, "first.package.domain", "second.package.domain",...);
1.4 Registering an EventListener
classAddUuidPreSaveEventListenerimplementsEventListener {void onPreSave(Event event) {
DomainEntity entity = (DomainEntity) event.getObject():
if (entity.getId() == null) {
entity.setUUID(UUID.randomUUID());
}
}
void onPostSave(Event event) {
}
void onPreDelete(Event event) {
}
void onPostDelete(Event event) {
}
EventListener eventListener = new AddUuidPreSaveEventListener();
// register it on an individual session
session.register(eventListener);
// remove it.
session.dispose(eventListener);
// register it across multiple sessions
sessionFactory.register(eventListener);
// remove it.
sessionFactory.deregister(eventListener);