There have been numerous questions in regards to the following statement made in a few places on the Hibernate website:
Both Hibernate Annotations and Hibernate EntityManager are part of Hibernate Core as of 3.5.x...
So I wanted to clarify what is meant by that. Previously Hibernate Core, Hibernate Annotations and Hibernate EntityManager were all separate projects, meaning
- they lived in different Subversion projects
- they had independent release cycles (and hence independent versioning)
- they had different Jira projects
- they had different SubjectMatterExperts
Originally this split (initiate back in Hibernate's 3.0 days) was needed because back then Hibernate was on big source tree which needed to remain JDK 1.4 compliant. Nowadays though, with the modularization of the Hibernate (Core) build it became feasible to pull Annotations and EntityManager back into the same source project since each module can be built with different source and target JDK levels. The biggest win here from the user perspective I think is making the making of the "compatibility matrix" completely obsolete.
This does not mean that Annotations and EntityManager are part of the hibernate-core JAR file as far as the published maven repository artifacts are concerned. Hibernate is still modularized. The main reason for this is to isolate the dependences for each module. This makes it easy for users consuming Hibernate through a maven repo based dependency scheme (Maven, Ivy, Gradle, etc) to manage the transitive dependency tree.
In the distribution bundle (the archives uploaded to the SourceForge File Release System), however, the classes are all combined together into a single jar file. But this happens across all the modules (caching, etc) because that is how it was always done in these distribution bundles.
Hope that clarifies.
That's great. I welcome the merger.
Yes where is it?
You mean like
The JPA APIs are at http://repository.jboss.org/maven2/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.0.Final/hibernate-jpa-2.0-api-1.0.0.Final.jar
The release bundles are simply a legacy artifact. This is how Hibernate was released prior to us uploading them to the JBoss Maven repo. We decided to continue producing release bundles in that light. As shown above, if you really want just the binaries, they are already available via maven repo. The formats will not be changing.
Sorry, I still don“t get it. I include hibernte3.jar in my lib folder and annotations are not recognized. What do I do? do I need to include more jars for annotations. Thank you. David
I remember reading: . So, is it bundled wiht or not? Where do I find annotations? Do do I configure things now?
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.5.1-Final</version>
</dependency>
and don't forget:
<repositories>
<repository>
<id>JBOSS</id>
<name>JBoss Repository</name>
<url>http://repository.jboss.org/maven2/</url>
</repository>
</repositories>
hibernate-entitymanager will download Core, annotations and JPA2 dependencies
Depends on: 1) Whether you are using the release bundles we put on SourceForge or whether you use the Maven repository to grab dependencies. 2) What features do you want to use? Full-on JPA? Just annotations? Just Hibernate Core?
1/Start with hibernate3.jar
2/Build your code, identify missing jar's and then all as per requirement.
~rohit.
Now they're all in this (package)?