Configuration configuration = new Configuration(); configuration.addAttributeConverter(new BirthdayConverter());
**configuration.registerTypeOverride(new JsonBinaryType());
** // It doesnt work
configuration.configure();
try (SessionFactory sessionFactory = configuration.buildSessionFactory();
Session session = sessionFactory.openSession()) {
session.beginTransaction();
User user = User.builder()
.username("[email protected]")
.firstname("John")
.lastname("Jones")
.info("""
{
"name": "John",
"id": 25
}
""")
.birthdate(new Birthday(LocalDate.of(1998, 6, 21)))
.role(Role.ADMIN)
.build();
session.persist(user);
session.getTransaction().commit();
entity/User.class
//@Type(type = "com.vladmihalcea.hibernate.type.json.JsonBinaryType")
@Convert(converter = JsonBinaryType.class)
private String info;
}
Always getting Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.JsonSerializer
Changed @Type(type = "com.vladmihalcea.hibernate.type.json.JsonBinaryType") to @Convert(converter = JsonBinaryType.class)
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.0.1'to your gradle file. or in your syntaximplementation "com.fasterxml.jackson.core:jackson-databind:2.0.1"