Если у вас есть возможность использования SessionFactory
, вы можете использовать следующую последовательность загрузки:
StandardServiceRegistry serviceRegistry =
new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
MetadataSources metadataSources = new MetadataSources(serviceRegistry);
MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder();
metadataBuilder.applyTypes(
new TypeContributor() {
@Override
public void contribute(
TypeContributions typeContributions, ServiceRegistry serviceRegistry) {
typeContributions.contributeType(
new MyJavaTypeAsMyDatabaseTypeUserType(), new String[] {MyJavaType.class.getName()});
}
});
Metadata metadata = metadataBuilder.build();
SessionFactory sessionFactory = metadata.buildSessionFactory();
Обратите внимание, что это решение исключает использование только @org.hibernate.annotations.Type
, а не @javax.persistence.Column
.