See inline
On 02/20/2018 10:52 AM, Jordan Gigov wrote:
Well, it took longer than expected as the source of the failures
became more obscure, but here it is, done on the master (5.3) branch.
https://github.com/coladict/hibernate-orm/tree/dom4j-removal
It's in the dom4j-removal branch.
The tests for entity-mode dom4j have been removed, but it might be a
better idea to write new ones that expect an error.
Also the hibernate-mapping-4.0.xsd schema hasn't been valid since
dom4j entity-mode was removed in 2011
(4a4f636caf9ecc62fe0d230f422ad3eab2517db0) but I haven't touched it.
You could wait for 6.0, but there is time to review this for 5.3.
The biggest difference between what you did and my own for Envers is
that I decided to use the JAXB binding classes directly rather than
replace dom4j with another XML abstraction. Using JAXB binding classes
directly gives several noticeable benefits:
* Better maintainability - cleaner and easier to read code
* Better performance - less in-memory string manipulation and cloning
* Most important - compile-time schema compliance.
The replacement of dom4j with the w3c equivalents is likely fine for
5.3; however, the long-term goal is to do away with the XML manipulation
all together in Envers.
I have only passed a `clean build` using JDK8 and the default H2
database. Maybe other databases could expose errors, but it's highly
unlikely.
JDK9 is a bit more likely to expose an incompatibility.
On 19 February 2018 at 17:03, Chris Cranford <chris(a)hibernate.org
<mailto:chris@hibernate.org>> wrote:
See below
On 02/18/2018 11:38 AM, Steve Ebersole wrote:
> On Sun, Feb 18, 2018 at 4:52 AM Jordan Gigov <coladict(a)gmail.com
<mailto:coladict@gmail.com>> wrote:
>
>> I think transitioning to automatic bindings via JAXB will
result in error
>> messages on wrong configurations becoming far too vague to be
useful to the
>> users.
>>
> I'm not understanding... we've used jaxb since 4.0
>
> I am just talking about envers and how it integrates with
hibernate-core.
> At the moment it directly uses dom4j - we'd like to eventualy
have it use
> the jaxb model instead
There is a JIRA [1] that specifically targets this work from an Envers
perspective.
I have a working implementation based on Hibernate 5.x but this is
planned to be integrated in Hibernate 6. I'd expect to see this get
integrated once we get a bit more development finalized around
Hibernate
Core in 6.
[1]:
https://hibernate.atlassian.net/browse/HHH-11483
<
https://hibernate.atlassian.net/browse/HHH-11483>
Thanks,
Chris