Originally posted by David O'Meara:
I found that in Jaxor you still coupled your Java code with the database - code still contains tanle names. Its Unit of Work implementation caused us some hiccups since you can't view an object created in the unit of work until it commits, so if anything else needs it, the object doesn't appear to exist. I'm also not a fan of code generation since we normally rely on our own frameworks with our own base classes.
With Jaxor, you can use the 'alias' attribute in the xml files to override the table name or column name defaults.
What do you mean by 'view' an object in the unit of work? In the present (3.4) release, all objects are cached by primary key in the unit of work. When you do a primary key query it will read it from the cache and not from the db. You can also use the flush() method on your JaxorContext to insert an object into the db, but not commit db transaction. This will make it appear in any sql query for your session so long as your DB supports this level of transaction isolation.
Regards,
Mike Rettig
Jaxor Developer
http://jaxor.sf.net