Now that 3.2.0.ga is imminent, here are the things which are currently underway, or which I would like to start soon:
1) Antlr query translator redesign. The original Antlr-based translator was a great first cut and showed us the usefulness of Antlr for this task; in many ways it ways a learning experience. Now, it is time to take those experiences and redesign how the translator works in a few areas and to add some significant enhancements. This will be the subject of a separate email a little later. This work is already well underway on a separate branch in SVN. 2) Adding the notion of a component "persister". The goal here is to move most of the logic off of ComponentType to a "persister" managed by the session factory. The impetus being twofold: a) certain hibernate configuration parameters are currently considered "global" because of the way ComponentType currently works; the two most annoying being 'hibernate.bytecode.use_reflection_optimizer' and 'hibernate.bytecode.provider'. These changes would allow both of those settings to become session factory scoped values. b) general code cleanup and encapsulation; this aligns with how entities are managed by the EntityTypes. More about this in a later email also. Note that many pre-requisite changes for this have already been made on HEAD (i.e. the inclusion of the o.h.tuple.ComponentMetamodel). 3) Redefine how CacheProvider/Cache work. The main goal here is to have CacheProvider be able to create Cache instances configured for how Hibernate uses the different second level (L2) cache regions. There are 4 regions "types" each with slightly different usage semantics: a) entity data cache - used to cache entity tuple state b) collection cache - used to cache collection state c) query cache - used to cache query results d) invalidation or timestamps cache 4) Criteria API enhancements: a) I'd like to get everything that is currently possible in HQL as a capability in Criteria queries. Ideally, I'd like to re-use some of the changes being made to the Antlr query translator to facilitate these enhancements. b) statistics collection - the only real possibility I see here is to expose the ability to name criteria queries and expose the stats based on the given name. 5) Completion of the EntityMode and Tuplizer capabilities. This has been hanging around for a while now. There are a couple of specific things we need to finish off here: a) we know that recognizing the concrete type of polymorphic associations is completely broken when using the dom4j entity mode. This is because we currently do not require that node names be unique and we also do not require that the DOM node contain any type of discrimination value. Need to decide on the approach that allows this to work and that is hopefully non-invasive. b) allow user defined entity modes. The infrastructure for allowing this is now in place in HEAD. However, there are currently a lot of places in the code base that assume the entity modes are enums and do == type comparisions. We either need to change all those, or somehow make the user register their custom entity modes. Plus the DTD then needs to be updated to support this. Another thing to discuss is whether these should be bundled in the 3.2.x series, or to go with a 3.3.x. I personally vote to go with a 3.3.x series as 3.2.x was essentially targetting JPA-related work. If we agree for 3.3, then I'll branch HEAD off onto a 3.2 specific branch and we can start to use HEAD for 3.3 work. Thoughts? ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ hibernate-devel mailing list hibernate-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hibernate-devel