Skip to content

mikezerosix/pgjson

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PGJson

Hibernate extension for PostgreSQL json type support

This projects provide some classes to simplify work with Postgres json data type in hibernate. It includes extended postgres dialect and objects for type def support. This small library allows to store in json field both HashMap(with any nesting level) and custom objects. Also it supports scheme validation and update

Requirements

Library expects that in your project you have following dependencies

  • hibernate core(4.3 or higher)
  • jackson (1.9.13) want to add opportunity to support custom converter
  • PostgreSQL driver(9.2 or higher)

How to use

  • include library into your project
        <dependency>
            <groupId>com.bazarnazar</groupId>
            <artifactId>pgjson</artifactId>
            <version>1.3</version>
        </dependency>
  • set com.bazarnazar.pgjson.JsonPostgreSQLDialect as dialect for hibernate
  • if you want to store custom object
    • create object that extends com.bazarnazar.pgjson.PGJsonObject
    • add this object as type in @Type to your @Entity and your annotate field or getter for this type where object is stored
  • if you want to store collection of objects extend PgJsonCollection and override getReturnedTypeReference() like this
    protected TypeReference getReturnedTypeReference() {
        return new TypeReference<Map<String, SomeType>>() {};
    }
  • if you want to store HashMap
    • simply add com.bazarnazar.pgjson.JsonMapType as type in @Type to your @Entity and your annotate field or getter for this type where Hash map is stored

WARNING!!!

  • If you have native queries in your project, be sure that you adding entity for this query
  • Be careful while editing or passing object for json field. Since it's not immutable changing data directly in this object, can change data in database. It's strongly recommended to create copies

About

postgres json type support for hibernate.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%