Issue Details (XML | Word | Printable)

Key: MPHIBERNATE-14
Type: Improvement Improvement
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Mark Hobson
Votes: 7
Watchers: 8
Operations

If you were logged in you would be able to see more operations.
Maven 1.x Hibernate Plugin

Support Hibernate 3.0

Created: 15/Dec/04 11:12 AM   Updated: 08/Jun/05 03:19 PM
Return to search
Component/s: None
Affects Version/s: 1.3
Fix Version/s: None

Time Tracking:
Not Specified

File Attachments: 1. File hibernate3support.diff (46 kB)
2. File version2and3comat.diff (87 kB)

Environment: N/A


 Description  « Hide

In Hibernate 3.0, currently alpha, the class structure has changed from net.sf.hibernate to org.hibernate. This means that when using this plugin the user has to change the dialect class in hibernate.cfg.xml or hibernate.properties before & after a hibernate:schema-export.

To upgrade this plugin to support 3.0 is very straightforward - just change the dependency, reorganise the imports & fix line 178 of SchemaBeanBase to support the new API method Configuration.addJar(File). There's also the 3.0 DTD's to add support for, but nothing major to get things working.

Obviously these changes will break 2.1 users, so is it worth maintaining parallel releases for both 2.1 and 3.0 Hibernate users?



Felipe Leme added a comment - 09/Feb/05 11:19 PM

Mark,

Yes, if it breaks compatibility, we better have 2 branches in parallell (probably 2.0/main for the hibernate 3.0 and 1.x for the old hibernate).

– Felipe


Dan Washusen added a comment - 30/Mar/05 11:09 PM

I've modified the source to support hibernate 3.
I had to remove the code generation part as there is no hibernate extensions jar available on ibiblio. It's hasn't really been tested (other have the hibernate:schema-export goal).

The changes only took 30 minutes...

Cheers,
Dan


Felipe Leme added a comment - 31/Mar/05 10:10 PM

Dan,

Unfortunately, the fix is not that simple, as such change would cease the support to Hibernate 2.x.

In other words, we need to decide how to support both versions (Hibernate 2 and 3).

– Felipe


Dan Washusen added a comment - 31/Mar/05 11:19 PM

Maybe a hibernate3 maven plugin? I wouldn't much more will be happening with hibernate2.x...


Anthony Vito added a comment - 29/Apr/05 06:07 PM

This patch provides full seamless compatibility between both 2.x and 3.x versions of Hibernate. After this patch the plugin no longer has a hibernate dependency. The user of the plugin chooses the version that will be supported by placing the hibernate dependency in their project.xml file. The plugin detects the hibernate version and acts accordingly. It also fails imediately if hibernate is not found as a dependency. The one extra class I created, HibernateVersions, is a reflective bridge to detect the correct classes and deal with the minor API changes between the versions. After adjusting the dependencies of the "simpleTest" it passed fine. I also added a new test "simplev3Test", just a copy with everything updated to use version 3.0.1. It passes just fine also.(JTA is needed locally) The codeGeneration test always failed for me, even before I began working. I excluded it from the reactor in the plugin-test directory. I believe the codeGeneration in 2.X will work just fine. I think the test is not set up correctly. -Anthony Vito


Todd Huss added a comment - 08/Jun/05 03:19 PM

Anyone know when a new version of the maven hibernate plugin will be release including Anthony's version 2 and 3 compatability patch?