On Jun 20, 2011, at 7:56 PM, Scott Marlow wrote: >> >> and adding envers into org.hibernate module, means there will no >> org.hibernate.envers module, and a (jpa) app's classloader can access >> org.hibernate module, right? so it can access envers class too. > > Wrong, just adding envers to org.hibernate (either via a module dependency or > the jar directly) doesn't result in envers being exported from the > org.hibernate module. There is an option to do that, if so desired (via the > export="true"). The better option is knowing whether or not it is needed and > dynamically injecting envers only if it is.
Not sure how it works exactly, but I suppose that if the application declares somehow that it uses Envers, only then the Envers module should be visible? Looking at the dependencies tree between Hibernate modules, Envers is a leaf, so in theory it should be doable ;). > From what you previously said, I think the dependencies are: > > - Application classes may reference the envers annotation. > > - Application classes may reference Hibernate classes. > > - Hibernate core may reference envers. > > - Hibernate envers may reference Hibernate core. > > Sound right so far? Well Core doesn't reference Envers in any way. Envers aside, I think the Integrators should work anyway. Say a user creates his own Integrator and puts it as part of the application classes - will Hibernate see it on startup? The same applies to Envers - Hibernate should see the integrator if the module is enabled. -- Adam Warski http://twitter.com/#!/adamwarski http://www.warski.org http://www.softwaremill.eu _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev