Hibernate artifact id “hibernate-core” with version 4.3.5.Final and artifact id “hibernate” with ver

I was following a tutorial to get start with Hibernate, there a note given to add Hibernate artifact id as

<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.2.3.ga</version> </dependency>

and with it lot of other dependency like , dom4j, javax.transaction (JTA) etc..

but the latest hibernate version is "4.3.5.Final"(gathered from hibernate.org), and artifact id given there was :

<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.3.5.Final</version> </dependency>

with no extra dependencies to add in pom.xml of my sample

When I compiled my project with tutorial way, in my .m2 directory org.hibernate got created and it has everything which is needed for sample to run.

I deleted everything in repo and compiled only using hibenate-core (given on hibernate.org), all the necessary things were downloaded and sample ran successfully with this too.

I tried to see the pom.xml of the hibernate-core in .m2, and noticed that dependencies for things like dom4j and transactions are added here. (hence may be no need to add in sample's pom.xml). Also noticed that the trasaction API are now used form Jboss.spec.javax.

I am confused that, what is the correct way? Is hibernate-core is the latest way of doing things? and what are the differences with "hibernate" artifact? Why things like transaction API implementation is changed from java.transaction to org.jboss.spec.javax.transaction?

Where can I find these things in details?


As of hibernate 4 the maven artifacts are separated into separate modules instead of a single jar. The recommended way as of hibernate 4 is to use <strong>hibernate-core</strong> artifact. Please read section 1.1.1 on the manual: http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html_single/#tutorial-firstapp-setup


  • How Oracle uses statistics data
  • PHP how to have code continue without waiting for results of include
  • How to enable weaving in EclipseLink?
  • Handling database constraint errors nicely
  • Is sparse BLAS not included in BLAS?
  • Using NinePatch (.9.png) for making scaled Bitmaps
  • Show generated SQL in toplink in eclipse
  • Cannot establish BLE connection between Android 5 and BLE device
  • it's possible configure a persistence.xml for multiple data sources?
  • Fail SonarQube quality gate when coverage decreases
  • Grails Cannot get property 'id' on null object
  • How can I sum two different columns at once where one contains Decimal objects in pandas?
  • How to set the navigation bar to the top in Table View?
  • Issue with SVN Commit for certain File Extension
  • Partial specialization of a class template in derived class affects base class
  • c++ search a vector for element first seen position
  • How to load Q library with Require.js?
  • Unzip archive in .Net CORE 1.0
  • Is it possible to define rest argument in OCaml?
  • How to get links to open in the native browser in iOS Meteor apps?
  • jQuery: add elements until a particular height is reached
  • Angular2 component view does not update on value change via method
  • Eliminate partial duplicate rows from result set
  • CakePHP ACL tutorial initDB function warnings
  • presentShareDialogWithParams posts to FB wall, but callback handler results say error
  • Reduction and collapse clauses in OMP have some confusing points
  • gspread or such: help me get cell coordinates (not value)
  • Unable to install Git-core+svn by MacPorts
  • Should I or shouldn't I use the CachingConnectionFactory with hornetq 2.4.1
  • How do I exclude a dependency in provided scope when running in Maven test scope?
  • Is it possible to access block's scope in method?
  • The plugin 'org.apache.maven.plugins:maven-jboss-as-plugin' does not exist or no valid ver
  • how to adjust image in a panel in Java swing?
  • Projection media query: browser support and workarounds?
  • Possible to stop flickering java tooltip in heavyweight mode?
  • Can I have the cursor start on a particular column by default in jqgrid's edit mode?
  • R: gsub and capture
  • SetUp method failed while running tests from teamcity
  • JTable with a ScrollPane misbehaving
  • Understanding cpu registers