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

Reply via email to