3 Replies Latest reply on Oct 11, 2010 7:25 AM by lvdberg

    oneToMany enums

    vata2999

      Hi,
      I created abstract Member Entity with enum class within it and a person class extends Member
      I want to create one to many relation between person and enumeration 
      after i persist person entity i get this error
      Conversion Error setting value {DIRECTOR, PRODUCER} for


      #{person.mtypes}





      .xhtml file



      <h:selectManyCheckbox  value="#{person.mtypes}">
      <s:selectItems   value="#{typeMembers}" var="mtype" label="#{mtype.label}" />
      <s:convertEnum></s:convertEnum>
      </h:selectManyCheckbox>



      Member.java



      @Enumerated(EnumType.STRING)
           private TypeMember mtypes;


      //getter / setter




      factory



      @Factory("typeMembers")
           public TypeMember[] TypeMembers(){
                return TypeMember.values();
           }




        • 1. Re: oneToMany enums
          lvdberg

          Hi,


          you are using a select many and you try to put the result in a single reference. Try using a Set instead.


          Leo

          • 2. Re: oneToMany enums
            vata2999

            Thanks leo for your quick reply now i've got this exception


            Could not determine type for: java.util.Set, for columns: org.hibernate.mapping.Column(mtypes)


            private Set<TypeMember> mtypes = new HashSet<TypeMember>();




            • 3. Re: oneToMany enums
              lvdberg

              Hi,


              You should annotate it with the CollectionOf.. annotation, so Hibernate van map it cottectly.Be aware that the default mapping for an Enum is Ordinal.


              Leo