From: Gavin_King/Cirrus%<CI...@ci...> - 2002-06-05 06:18:46
|
I released a new version last night, just to get a bunch of changes out there and into use.... There are changes to the exceptions model that could potentially break existing application code, so heads up on that. (I doubt this will be a problem for many people.) Check out all the new Exception subclasses in the API docs. Other new features are lifecycle objects (cascade="all" only, so far), a proper ConnectionProvider framework and Jon Lipsky's composite key query patch. Performance enhancements include less automatic flushing and improved deep fetching. For version 1.0 I am waiting on: 1. finished Transaction API 2. Referenceable SessionFactory (I have justabout finished this .. will commit it in a few hours probably) 3. opinions on my proposal to replace PersistentLifecycle (see my last post on lifecycle objects thread) I figure if we are going to make any changes to major APIs in the near future, they should be done before we call something 1.0. Thats why I'm keen to resolve the question of a new lifecycle interface at this stage. (to recap this issue, i'm thinking of providing the following:) package cirrus.hibernate; interface Lifecycle { // replaces PersistentLifecycle public boolean save(Session s) throws ....; public boolean update(Session s) throws ....; public boolean delete(Session s) throws ....; public void load(Session s); } The new interface lets the object veto operations (which might have occurred by cascade, for example) and adds a specific callback for update (). I've removed the store() callback because I can't think of any particularly good use for it (does anyone use this??). Please let me know what you think. |