use of org.hibernate.type.descriptor.converter.AttributeConverterTypeAdapter in project hibernate-orm by hibernate.
the class ParameterizedAttributeConverterParameterTypeTest method testNestedTypeParameterAutoApplication.
@Test
@TestForIssue(jiraKey = "HHH-10050")
public void testNestedTypeParameterAutoApplication() {
final Metadata metadata = new MetadataSources(ssr).addAnnotatedClass(SampleEntity.class).getMetadataBuilder().applyAttributeConverter(IntegerListConverter.class).applyAttributeConverter(StringListConverter.class).build();
// lets make sure the auto-apply converters were applied properly...
PersistentClass pc = metadata.getEntityBinding(SampleEntity.class.getName());
{
Property prop = pc.getProperty("someStrings");
AttributeConverterTypeAdapter type = assertTyping(AttributeConverterTypeAdapter.class, prop.getType());
assertTyping(StringListConverter.class, type.getAttributeConverter());
}
{
Property prop = pc.getProperty("someIntegers");
AttributeConverterTypeAdapter type = assertTyping(AttributeConverterTypeAdapter.class, prop.getType());
assertTyping(IntegerListConverter.class, type.getAttributeConverter());
}
}
use of org.hibernate.type.descriptor.converter.AttributeConverterTypeAdapter in project hibernate-orm by hibernate.
the class SimpleConvertAnnotationTest method testSimpleConvertUsage.
@Test
public void testSimpleConvertUsage() throws MalformedURLException {
final EntityPersister ep = sessionFactory().getEntityPersister(Entity1.class.getName());
final Type websitePropertyType = ep.getPropertyType("website");
final AttributeConverterTypeAdapter type = assertTyping(AttributeConverterTypeAdapter.class, websitePropertyType);
assertTyping(UrlConverter.class, type.getAttributeConverter());
resetFlags();
Session session = openSession();
session.getTransaction().begin();
session.persist(new Entity1(1, "1", new URL("http://hibernate.org")));
session.getTransaction().commit();
session.close();
assertTrue(convertToDatabaseColumnCalled);
session = openSession();
session.getTransaction().begin();
session.createQuery("delete Entity1").executeUpdate();
session.getTransaction().commit();
session.close();
}
use of org.hibernate.type.descriptor.converter.AttributeConverterTypeAdapter in project hibernate-orm by hibernate.
the class SimpleXmlOverriddenTest method baseline.
/**
* A baseline test, with an explicit @Convert annotation that should be in effect
*/
@Test
public void baseline() {
Metadata metadata = new MetadataSources(ssr).addAnnotatedClass(TheEntity.class).buildMetadata();
PersistentClass pc = metadata.getEntityBinding(TheEntity.class.getName());
Type type = pc.getProperty("it").getType();
AttributeConverterTypeAdapter adapter = assertTyping(AttributeConverterTypeAdapter.class, type);
assertTyping(SillyStringConverter.class, adapter.getAttributeConverter());
}
use of org.hibernate.type.descriptor.converter.AttributeConverterTypeAdapter in project hibernate-orm by hibernate.
the class XmlWithExplicitConvertAnnotationsTest method testSimpleConvertUsage.
@Test
public void testSimpleConvertUsage() throws MalformedURLException {
final EntityPersister ep = sessionFactory().getEntityPersister(Entity1.class.getName());
final Type theDatePropertyType = ep.getPropertyType("theDate");
final AttributeConverterTypeAdapter type = assertTyping(AttributeConverterTypeAdapter.class, theDatePropertyType);
assertTyping(LongToDateConverter.class, type.getAttributeConverter());
resetFlags();
Session session = openSession();
session.getTransaction().begin();
session.persist(new Entity1(1, "1", new Date()));
session.getTransaction().commit();
session.close();
assertTrue(convertToDatabaseColumnCalled);
resetFlags();
session = openSession();
session.getTransaction().begin();
session.get(Entity1.class, 1);
session.getTransaction().commit();
session.close();
assertTrue(convertToEntityAttributeCalled);
session = openSession();
session.getTransaction().begin();
session.createQuery("delete Entity1").executeUpdate();
session.getTransaction().commit();
session.close();
}
use of org.hibernate.type.descriptor.converter.AttributeConverterTypeAdapter in project hibernate-orm by hibernate.
the class AttributeConverterTest method testBasicOrmXmlConverterApplication.
@Test
@TestForIssue(jiraKey = "HHH-8462")
public void testBasicOrmXmlConverterApplication() {
final StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().build();
try {
MetadataImplementor metadata = (MetadataImplementor) new MetadataSources(ssr).addAnnotatedClass(Tester.class).addURL(ConfigHelper.findAsResource("org/hibernate/test/converter/orm.xml")).getMetadataBuilder().build();
PersistentClass tester = metadata.getEntityBinding(Tester.class.getName());
Property nameProp = tester.getProperty("name");
SimpleValue nameValue = (SimpleValue) nameProp.getValue();
Type type = nameValue.getType();
assertNotNull(type);
if (!AttributeConverterTypeAdapter.class.isInstance(type)) {
fail("AttributeConverter not applied");
}
AttributeConverterTypeAdapter basicType = assertTyping(AttributeConverterTypeAdapter.class, type);
assertSame(StringTypeDescriptor.INSTANCE, basicType.getJavaTypeDescriptor());
assertEquals(Types.CLOB, basicType.getSqlTypeDescriptor().getSqlType());
} finally {
StandardServiceRegistryBuilder.destroy(ssr);
}
}
Aggregations