Hibernate Hydrate
The primary goal of the Hibernate Hydrate project is to populate a graph of persistent entities and thus avoid the famous LazyInitializationException.
Features
- Utility class to populate a lazy-initialized object graph by recursivity
- Supports JPA with Hibernate as provider
- Supports third Hibernate 3.x, Hibernate 4.x and Hibernate 5.x
Getting Help
This readme file as well as the wiki are the best places to start learning about Hibernate Hydrate. There are also unit tests available to look at.
The wiki contains links to basic project information such as source code, jenkins build, javadocs, issue tracking, etc.
A french article titled Say goodbye to LazyInitializationException : http://javaetmoi.com/2012/03/hibernate-dites-adieu-aux-lazy-initialization-exception/
Quick Start
Download the jar though Maven:
<!-- Either Hibernate 5.2 and above support -->
<dependency>
<groupId>com.javaetmoi.core</groupId>
<artifactId>javaetmoi-hibernate5-hydrate</artifactId>
<version>5.2.2</version>
</dependency>
<!-- or Hibernate 5.0 and 5.1 support -->
<dependency>
<groupId>com.javaetmoi.core</groupId>
<artifactId>javaetmoi-hibernate5-hydrate</artifactId>
<version>2.3</version>
</dependency>
<!-- or Hibernate 4 support -->
<dependency>
<groupId>com.javaetmoi.core</groupId>
<artifactId>javaetmoi-hibernate4-hydrate</artifactId>
<version>2.2</version>
</dependency>
<!-- Or Hibernate 3 support -->
<dependency>
<groupId>com.javaetmoi.core</groupId>
<artifactId>javaetmoi-hibernate3-hydrate</artifactId>
<version>2.2</version>
</dependency>
Hybernate Hydrate artefacts are available from Maven Central
Contributing to Hibernate Hydrate
- Github is for social coding platform: if you want to write code, we encourage contributions through pull requests from forks of this repository. If you want to contribute code this way, please reference a GitHub ticket as well covering the specific issue you are addressing.
- Each major version of Hibernate has it own git branch: Hibernate 5 on the master, Hibernate 4 on the hibernate4 branch and Hibernate 3 on the hibernate3 branch
Development environment installation
Download the code with git:
git clone git://github.com/arey/hibernate-hydrate.git
Compile the code with maven:
mvn clean install
If you're using an IDE that supports Maven-based projects (InteliJ Idea, Netbeans or m2Eclipse), you can import the project directly from its POM. Otherwise, generate IDE metadata with the related IDE maven plugin:
mvn eclipse:clean eclipse:eclipse
Release
This project artefact is published to Maven Central. The Maven Release Plugin is used to release the project with Maven. The release.yml GitHub Actions workflow automates the process.
Credits
- Uses Maven as a build tool
- Uses GitHub Actions and Travis CI for continuous integration builds whenever code is pushed into GitHub
- Izaak (John) Alpert and Marc Cobery and Markus Heiden for their pull requests