Thanks Emmanuel,
this is what I tried earlier, to no avail. I get the exception below using the same IdGenerator and CustomeType which work with pure Hibernate.
Jens
PS: I can provide an example if needed.
Code:
2005-11-09 15:31:43,431 [DEBUG] [main] [AnnotationConfiguration] Process annotated classes
2005-11-09 15:31:43,435 [DEBUG] [main] [AnnotationConfiguration] processing manytoone fk mappings
2005-11-09 15:31:43,439 [INFO] [main] [Configuration] processing extends queue
2005-11-09 15:31:43,442 [INFO] [main] [Configuration] processing collection mappings
2005-11-09 15:31:43,444 [INFO] [main] [Configuration] processing association property references
2005-11-09 15:31:43,448 [INFO] [main] [Configuration] processing foreign key constraints
javax.persistence.PersistenceException: org.hibernate.MappingException: identifier mapping has wrong number of columns: foo.bar.MyObject type: foo.bar.MyCompositeType
at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:149)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:73)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:37)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:27)
at foo.bar.SimpleEntityManagerTest.setUp(SimpleEntityManagerTest.java:27)
at com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:31)
Caused by: org.hibernate.MappingException: identifier mapping has wrong number of columns: foo.bar.MyObject type: foo.bar.MyCompositeType
at org.hibernate.mapping.RootClass.validate(RootClass.java:194)
at org.hibernate.cfg.Configuration.validate(Configuration.java:975)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1139)
at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:358)
at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:484)
at org.hibernate.ejb.Ejb3Configuration.createFactory(Ejb3Configuration.java:96)
at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:142)
... 17 more
Code:
@GenericGenerator(name="custom-id", strategy = "foo.bar.MyIdGenerator")
@Id(generator = "custom-id")
@Type(type = "foo.bar.MyCompositeType")
@Columns(
columns = {
@Column(name = "high"),
@Column(name = "middle"),
@Column(name = "low"),
@Column(name = "other")
}
)