I wasn't sure this bug could get any worse, but it did. At first the problem was just the converter not overriding built-in types, like {{Serializable}}. If you removed {{Serializable}} from the type of the {{@Convert}} property, the converter system worked just fine. This was the "work-around," if you can call it that. Now it's broken worse.
As of beta3, if you remove {{Serializable}} from the type, Hibernate now fails to start! It decides that the entity simply isn't mappable:
{noformat}Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: test-jpa-converters] Unable to build Hibernate SessionFactory at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException ( EntityManagerFactoryBuilderImpl.java:1209 comment deleted ) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.access$700(EntityManagerFactoryBuilderImpl.java:119) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:847) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:836) at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:368) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:835) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:73) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39) at net.nicholaswilliams.java.TestClass.createPersistenceUnit(TestClass.java:45) at net.nicholaswilliams.java.TestClass.main(TestClass.java:133) Caused by: org.hibernate.MappingException: Could not determine type for: net.nicholaswilliams.java.SpecialType, at table: ComplexTable, for columns: [org.hibernate.mapping.Column(location)] at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:345) at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:319) at org.hibernate.mapping.Property.isValid(Property.java:240) at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:483) at org.hibernate.mapping.RootClass.validate(RootClass.java:271) at org.hibernate.cfg.Configuration.validate(Configuration.java:1319) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1808) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:844) ... 8 more{noformat}
*head desk *
|