|
I also like CouchDB, Neo4j best etc., as it reads very nicely.
I think we should omit the "configuration" prefix in order to leave space for future evolvement. E.g. we also could provide an entry point for provider specific action methods later on like this:
public interface DatastoreOperations<O extends Operations> {}
public class MongoDB implements DatastoreConfiguration<MongoDBGlobalContext>, DatastoreOperations<MongoDBOperations> {}
session.executeOn(MongoDB.class).reIndex("Accounts");
This API is just a quick draft, but I think it makes sense to enable the user-facing store identifier class to evolve into other means than configuration.
Concerning the packaging, I must admit that I find the current approach quite confusing. I'd prefer if we did the split into provider-specific packages at the highest possible level, i.e. have org.hibernate.ogm.neo4j.* and then org.hibernate.ogm.neo4j.Neo4j.
|