1 package com.vladmihalcea.hibernate.type.json;
2
3 import com.fasterxml.jackson.databind.JsonNode;
4 import com.fasterxml.jackson.databind.ObjectMapper;
5 import com.vladmihalcea.hibernate.type.AbstractHibernateType;
6 import com.vladmihalcea.hibernate.type.json.internal.JsonBinarySqlTypeDescriptor;
7 import com.vladmihalcea.hibernate.type.json.internal.JsonNodeTypeDescriptor;
8 import com.vladmihalcea.hibernate.type.util.Configuration;
9 import com.vladmihalcea.hibernate.type.util.ObjectMapperWrapper;
10
11
27 public class JsonNodeBinaryType extends AbstractHibernateType<JsonNode> {
28
29 public static final JsonNodeBinaryType INSTANCE = new JsonNodeBinaryType();
30
31 public JsonNodeBinaryType() {
32 super(
33 JsonBinarySqlTypeDescriptor.INSTANCE,
34 new JsonNodeTypeDescriptor(Configuration.INSTANCE.getObjectMapperWrapper())
35 );
36 }
37
38 public JsonNodeBinaryType(Configuration configuration) {
39 super(
40 JsonBinarySqlTypeDescriptor.INSTANCE,
41 new JsonNodeTypeDescriptor(configuration.getObjectMapperWrapper()),
42 configuration
43 );
44 }
45
46 public JsonNodeBinaryType(ObjectMapper objectMapper) {
47 super(
48 JsonBinarySqlTypeDescriptor.INSTANCE,
49 new JsonNodeTypeDescriptor(new ObjectMapperWrapper(objectMapper))
50 );
51 }
52
53 public JsonNodeBinaryType(ObjectMapperWrapper objectMapperWrapper) {
54 super(
55 JsonBinarySqlTypeDescriptor.INSTANCE,
56 new JsonNodeTypeDescriptor(objectMapperWrapper)
57 );
58 }
59
60 public String getName() {
61 return "jsonb-node";
62 }
63 }