Plume Hibernate

Hibernate/QueryDSL/Sql2o toolkit

License

License

Categories

Categories

Hibernate Data ORM
GroupId

GroupId

com.coreoz
ArtifactId

ArtifactId

plume-db-hibernate
Last Version

Last Version

2.0.0-beta1
Release Date

Release Date

Type

Type

jar
Description

Description

Plume Hibernate
Hibernate/QueryDSL/Sql2o toolkit
Project Organization

Project Organization

Coreoz

Download plume-db-hibernate

How to add to project

<!-- https://jarcasting.com/artifacts/com.coreoz/plume-db-hibernate/ -->
<dependency>
    <groupId>com.coreoz</groupId>
    <artifactId>plume-db-hibernate</artifactId>
    <version>2.0.0-beta1</version>
</dependency>
// https://jarcasting.com/artifacts/com.coreoz/plume-db-hibernate/
implementation 'com.coreoz:plume-db-hibernate:2.0.0-beta1'
// https://jarcasting.com/artifacts/com.coreoz/plume-db-hibernate/
implementation ("com.coreoz:plume-db-hibernate:2.0.0-beta1")
'com.coreoz:plume-db-hibernate:jar:2.0.0-beta1'
<dependency org="com.coreoz" name="plume-db-hibernate" rev="2.0.0-beta1">
  <artifact name="plume-db-hibernate" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.coreoz', module='plume-db-hibernate', version='2.0.0-beta1')
)
libraryDependencies += "com.coreoz" % "plume-db-hibernate" % "2.0.0-beta1"
[com.coreoz/plume-db-hibernate "2.0.0-beta1"]

Dependencies

compile (11)

Group / Artifact Type Version
com.coreoz : plume-db jar
com.coreoz : plume-db-querydsl Optional jar
org.hibernate : hibernate-core jar
org.hibernate : hibernate-entitymanager jar
org.hibernate : hibernate-hikaricp jar
org.hibernate : hibernate-java8 jar
com.querydsl : querydsl-jpa jar
com.querydsl : querydsl-apt jar
org.sql2o : sql2o jar
com.google.inject : guice Optional jar
com.google.dagger : dagger Optional jar

test (2)

Group / Artifact Type Version
com.coreoz : plume-db-test jar
com.coreoz : plume-conf jar

Project Modules

There are no modules declared in this project.

Plume Framework

Build Status Maven Central

Plume Framework is a lightweight modular Java framework. It aims to remain as simple as possible while it can be customized enough to fit exactly your application need. Plume is mainly aggregating (great) JVM libraries. This way, the Plume code base is limited to the minimum so that the aggregated libraries can function together.

Plume Framework require at least Java 8. Its modules contains connectors for Guice and Dagger.

Plume Framework is maintained by Coreoz and licensed under Apache License 2.0.

Upgrade from 1.x to 2.x

See upgrade instructions in the release details.

Philosophy

The goal of Plume Framework is to maximize the reusability of its modules. For example Plume Framework components can be easily used with Play Framework or with Spark Java. In these cases the Plume Jersey module will be replaced with the corresponding Play and Spark engines.

To make modules reusable in other contexts, we tried to limit to the minimum the dependencies between each module.

Though Plume Framework only offers dependency injection connectors to Guice and Dragger, it is possible to adapt these connectors to work with Spring or CDI.

Demo

Sample projects can be found here: https://github.com/Coreoz/Plume-demo.

Getting started

The best way to get started is to use a Maven archetype for Plume Framework.

Dependency injection

If you are not familiar with the dependency injection concept, read the Guice Motivation Guice.

Dependency injection takes a central place in Plume Framework. Indeed, all modules provided by Plume Framework contain injectable objects. To use these injectables objects, the default choice is Guice: it is really easy to use.

If you are already familiar with Guice, you may want to have a look at Dagger which enables to detect dependency injection problems at compile time. To use Dagger the annotation processor should be enabled in your IDE: https://immutables.github.io/apt.html. However note that Dagger may be more difficult to use than Guice.

In Plume Framework documentation, examples use Guice modules. Most of the time there is a corresponding Dagger module to each Guice module. For example, the corresponding Dagger module for GuiceConfModule is DaggerConfModule.

Plume core modules

General modules

Plume Framework Dependencies

Reference all libraries versions used by Plume Framework. It will help you avoid dependency conflicts in your pom.xml file.

Plume Conf

This module is based on the Config library and handles the application configuration.

Plume Jersey

Enables to build REST web-services with Jersey and expose the documentation with Swagger.

Plume Services

Common services that are often needed in projects or libraries.

Plume Mail

Expose a Mailer object from Simple Java Mail through a Config configuration.

Plume Scheduler

Enables to easily execute recurring tasks/jobs through Wisp Scheduler.

Database modules

Plume Database

Basic utilities to pool SQL connections with HikariCP and manage transactions.

Plume Querydsl

Integration with Querydsl for SQL only (no JPA :).

Plume Querydsl Codegen

Code generation for Querydsl for SQL only.

Plume Database test

Use Flyway to help you make integration tests with a database.

Other Libraries to use with Plume Framework

If you need an HTTP client in a Plume application, a good choice is to use:

com.coreoz

Coreoz

Versions

Version
2.0.0-beta1
1.1.1
1.1.0
1.0.0
1.0.0-rc3
1.0.0-rc2
1.0.0-rc1
1.0.0-beta6
1.0.0-beta5
1.0.0-beta4
1.0.0-beta3