6 votes

Comment mapper un ensemble d'objets de type chaîne de caractères en utilisant les annotations JPA ?

@Entity
public class TestClass implements Serializable{
    private Integer id;
    private Set<String> mySet;

    @Id
    @GeneratedValue
    public Integer getId() {
        return id;
    }
    @OneToMany(cascade={CascadeType.ALL})
    public Set<String> getMySet() {
        return mySet;
    }
}

Je reçois l'erreur suivante.

Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: TestClass.mySet[java.lang.String]

ou si je laisse de côté le @OneToMany

org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: test_class, for columns: [org.hibernate.mapping.Column(my_sets) ]

7voto

Cogsy Points 3150

Vous trouverez une réponse assez décente ici . Les règles relatives aux listes s'appliquent également aux ensembles.

6voto

NealC Points 174

Ooh oh, je devais faire celui-là.

@CollectionOfElements(targetElement = String.class)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X