Hi Folks, so I'm making some first baby steps toward implementing support for Ceylon's collections in Hibernate by trying to make use of the existing UserCollectionType stuff.
Of course this is surely the ideal way to handle this, but bear with me for a sec because I would like to know why what I tried didn't work. So I wrote my SetUserType to implement UserCollectionType, and then I wrote the following Ceylon attribute: oneToMany { mappedBy="city"; } collectionType { type="hib.SetUserType"; } shared MutableSet<Person> people = HashSet<Person>(); Which is equivalent in the following Java: @javax.persistence.OneToMany(mappedBy = "city") @org.hibernate.annotations.CollectionType(type = "hib.SetUserType") @com.redhat.ceylon.compiler.java.metadata.Ignore private final ceylon.collection.MutableSet<Person> people; But when I ran the code, I got this error: Caused by: org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements: hib.City.people at org.hibernate.cfg.annotations.CollectionBinder.getCollectionBinder(CollectionBinder.java:322) at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1874) at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:904) at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:731) at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:245) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:222) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:770) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:797) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58) ... 32 more Is @CollectionType supposed to work with @OneToMany? Thanks, Gavin _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev