Jackson-datatype-Hibernate

Add-on module for Jackson (http://jackson.codehaus.org) to support Hibernate (http://hibernate.org) data types.

Лицензия

Лицензия

Категории

Категории

Данные Jackson JSON Hibernate ORM
Группа

Группа

com.fasterxml.jackson.datatype
Идентификатор

Идентификатор

jackson-datatype-hibernate
Последняя версия

Последняя версия

2.0.0-RC2
Дата

Дата

Тип

Тип

jar
Описание

Описание

Jackson-datatype-Hibernate
Add-on module for Jackson (http://jackson.codehaus.org) to support Hibernate (http://hibernate.org) data types.
Организация-разработчик

Организация-разработчик

fasterxml.com
Система контроля версий

Система контроля версий

http://github.com/FasterXML/jackson-module-hibernate

Скачать jackson-datatype-hibernate

Как подключить последнюю версию

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

Зависимости

compile (2)

Идентификатор библиотеки Тип Версия
com.fasterxml.jackson.core : jackson-databind jar 2.0.0-RC2
com.fasterxml.jackson.core : jackson-core jar 2.0.0-RC2

provided (2)

Идентификатор библиотеки Тип Версия
org.hibernate : hibernate-core jar 3.6.6.Final
org.hibernate : hibernate-entitymanager jar 3.6.6.Final

test (5)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.8.2
com.fasterxml.jackson.core : jackson-annotations jar 2.0.0-RC2
org.slf4j : slf4j-log4j12 jar 1.6.1
log4j : log4j jar 1.2.16
com.h2database : h2 jar 1.3.155

Модули Проекта

Данный проект не имеет модулей.

Project to build Jackson module (jar) to support JSON serialization and deserialization of Hibernate (http://hibernate.org) specific datatypes and properties; especially lazy-loading aspects.

Build Status Maven Central Javadoc

Status

As of version 2.0 module is usable and used by non-trivial number of developers and projects.

Note: Hibernate 3.x, 4.x and 5.x are supported (5.x starting with Jackson 2.6), but they require different jar, and Maven artifact names (and jar names differ). This document refers to "Hibernate 4" version, but changes with 3.x or 5.x should require little more than replacing "4" in names with "3" or "5".

Usage

Maven dependency

To use module on Maven-based projects, use following dependency:

<dependency>
  <groupId>com.fasterxml.jackson.datatype</groupId>
  <artifactId>jackson-datatype-hibernate4</artifactId>
  <version>2.9.0</version>
</dependency>    

or whatever version is most up-to-date at the moment; note that you need to use "jackson-datatype-hibernate3" for Hibernate 3.x, or "jackson-datatype-hibernate5" for Hibernate 5.x

<dependency>
    <groupId>com.fasterxml.jackson.datatype</groupId>
    <artifactId>jackson-datatype-hibernate5</artifactId>
    <version>2.9.8</version>
</dependency>

Registering module

Like all standard Jackson modules (libraries that implement Module interface), registration is done as follows:

ObjectMapper mapper = new ObjectMapper();
// for Hibernate 4.x:
mapper.registerModule(new Hibernate4Module());
// or, for Hibernate 5.x
mapper.registerModule(new Hibernate5Module());
// or, for Hibernate 3.6
mapper.registerModule(new Hibernate3Module());

after which functionality is available for all normal Jackson operations.

Avoiding infinite loops

Using with Spring MVC

Although more common way would be to register the module explicitly, it is alternatively possible to just sub-class ObjectMapper and register the module in constructor.

public class HibernateAwareObjectMapper extends ObjectMapper {
    public HibernateAwareObjectMapper() {
        // This for Hibernate 5; change 5 to 4 or 3 if you need to support
        // Hibernate 4 or Hibernate 3 instead
        registerModule(new Hibernate5Module());
    }
}

Then add it as the objectmapper to be used

    <mvc:annotation-driven>
        <mvc:message-converters>
            <!-- Use the HibernateAware mapper instead of the default -->
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="objectMapper">
                    <bean class="path.to.your.HibernateAwareObjectMapper" />
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

If mvc:annotation-driven is not being used, it can be added as a jsonconverter to the messageconverters of RequestMappingHandlerAdapter.

Other

Project Wiki contains links to Javadocs and downloadable jars (from Central Maven repository).

com.fasterxml.jackson.datatype

FasterXML, LLC

Версии библиотеки

Версия
2.0.0-RC2
2.0.0-RC1