http://jaxor.sourceforge.net/ A persistence layer "backed up" by the all and mighty Martin Fowler :)
Got some nice ideas...but one point made me wonder if Hibernate could do same/better/worse!?: On http://jaxor.sourceforge.net/whyJaxor.htm there is four headlines: Don't Load More Data Than You Have To, Tell Me What Has Changed. Don't Make Me Look!, Death to Duplication and Power of Text. My comments for those blocks are: Don't Load More Data Than You Have To Talks about transparent lazy loading and about the "difficulties" of handling proxies and special code for this. Jaxor solves this by generating the code that handles this (e.g. generating the proxies and the code for it). Hibernate have done this "always" and it is event better today (my opnion): It does not need to generate the proxies upfront by the power of cglib and the code for it is inside hibernate (no need for special case codegeneration for this). Note: Jaxor seems to make a point of generating code instead of having generel reflective code....I see advantages and disadvantages in both. Tell Me What Has Changed. Don't Make Me Look! Here is what it says:"Jaxor, through code generation, has the ability to notify the session exactly when, where, and how objects are changed. In contrast, frameworks using reflection must register the clean state of the object when it's loaded, then upon committing the session the state of the object is compared against it's original state to see if it has changed. If thousands (or hundreds of thousands) of objects are loaded from the database, committing these objects can be slower than necessary due to the equality checks that have to be performed. Also, the state of the object is duplicated in memory, so this may cause memory scalability problems. Jaxor never suffers from these scalability problems. Objects are represented in memory once. If they are updated, or deleted, then the session is notified of the changed. No extra comparisons have to be done. " And here I come short - Can't find what to say in Hibernates defence here ? (How much "double state" does Hibernate need ?) Death to Duplication Well - this part is about generating code from metadata instead of manual keeping code in sync with metadata. Here Hibernate rock :) we got xdocbean2hbm and hbm2java and its constantly improving. Second part is about having a "Database synchronization tool to match mapping information to the database schema" about handling simple "deltas" to a schema and INFORMING about columns/tables that the metadata does NOT cover...(maybe we should start maturing schemaupdate and build a schemacomparison "tool" ?) Power of Text. "Gui's are often wonderful marketing tools, but awful development tools" - nuff said :) (and he continues " Even worse are gui's that don't work directly with text files" :) "If you are implementing a non-trivial (is there any other kind?) application, and someone attempts to sell you an O/R mapping tool that doesn't allow you to configure the mapping information with your favorite text editor, run away. "... well, here Hibernate is all about text :) Any comments ? :) /max ------------------------------------------------------- This SF.net email is sponsored by: Scholarships for Techies! Can't afford IT training? All 2003 ictp students receive scholarships. Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more. www.ictp.com/training/sourceforge.asp _______________________________________________ hibernate-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hibernate-devel