La relation Hibernate @OneToMany provoque une boucle infinie ou des entrées vides dans un résultat JSON

J'ai deux entités, une entité "film" et une entité "Clip"
chaque élément appartient à un film et un film peut avoir plusieurs clips.

Mon code ressemble à ceci:

Movie.java
    @OneToMany(mappedBy = "movie", targetEntity = Clip.class, cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    private Set<Clip> clips = new HashSet<Clip>();



 Clip.java

    @ManyToOne
        @JoinColumn(name="movie_id")
        private Movie movie;

Les tables sont générées et chaque élément a une colonne "movie_id" mais cela provoque ma demande de se retrouver dans une boucle infinie quand je suis en demande de Données

    @Path("/{id:[0-9][0-9]*}")
        @GET
        @Produces(MediaType.APPLICATION_JSON)
        public Movie lookupMovieById(@PathParam("id") long id) {
            return em.find(Movie.class, id);
        }


result:
{"id":1,"version":1,"name":"MGS Walkthrough","filename":"video.mp4","movieCategories":[{"id":1,"version":1,"name":"Walkthrough"}],"clips":[{"id":1,"version":1,"name":"MGS Walkthrough P1","keywords":null,"movie":{"id":1,"version":1,"name":"MGS Walkthrough","filename":"video.mp4","movieCategories":[{"id":1,"version":1,"name":"Walkthrough"}],"clips":[{"id":1,"version":1,"name":"MGS Walkthrough P1","keywords":null,"movie":{"id":1,"version":1,"name":"MGS Walkthrough","filename":"video.mp4","movieCategories":[{"id":1,"version":1,"name":"Walkthrough"}],"clips":[{"id":1,"version":1,"name":"M...

C'est le même résultat quand je suis en demandant un clip.

Quand je l'ai changer pour un @ManyToMany relation il n'y aura pas des problèmes comme ça, mais ce n'est pas ce dont j'ai besoin ici. Pouvez-vous m'aider? Réglage fetchType Paresseux n'a pas fonctionné.

Edit: je suis en utilisant le courant de JBoss studio de développement

Edit:

J'ai "résolu", par la lecture de cet article:

http://blog.jonasbandi.net/2009/02/help-needed-mapping-bidirectional-list.html

"À la carte bidirectionnelle un à plusieurs, avec l'un-à-plusieurs côté que le propriétaire de côté, vous devez supprimer le mappedBy élément et réglez le nombre de un les annotations @JoinColumn comme insérable et pouvant être mis à jour à false. Cette solution n'est évidemment pas optimisé et produisent une certaine supplémentaire de mise à JOUR des déclarations."

lorsque je demande un film j'obtiens la réponse suivante:

{"id":1,"version":1,"name":"MSG Walkthrough","filename":"video.mp4","movieCategories":[{"id":1,"version":1,"name":"Walkthrough"}],"clips":[],"description":"Remorque zu mgs4"}

l'entrée "clips" s'affiche toujours. Est-ce encore de la mauvaise solution ou dois-je vivre avec cela?

source d'informationauteur Goot