J'ai mis en place un petit projet en tant que test. J'utilise BlazeDS et JPA avec Hibernate sur mon serveur de test, et j'utilise flex avec dpHibernate pour accéder aux entités Java. Chaque entité Java étend BaseEntity, une classe qui contient des champs ID et UUID. Les entités Flex sont créées par DTO2FX. Mon problème est que, lorsque j'exécute le projet Flex pour essayer d'afficher quelques lignes d'une entité Users, le SQL qui est en cours d'exécution rejoint toutes les tables de ma base de données. Cela continue jusqu'à ce que java.lang.StackOverflowError apparaisse. Ce comportement est complètement inattendu, et je ne suis pas vraiment sûr de l'endroit où chercher pour résoudre le problème. Toutes les suggestions seraient grandement appréciées.Hibernate rejoint chaque table dans la base de données
De toute évidence, j'ai omis certains détails, mais j'espère que cela donne une idée raisonnable du projet. Je serais plus qu'heureux d'inclure n'importe quel code qui pourrait être utile, mais je n'ai vraiment aucune idée de ce qui cause le comportement pour le moment. Merci!
EDIT: Voici un mappage qui pourrait mieux expliquer le problème.
@Entity
@FXClass(ignoreSuperclasses={Principal.class, UserDetails.class})
@Table(name="edrUser")
public class User extends BaseEntity implements IAbstractEntity, Principal, UserDetails {
@Column(length=20)
private String username;
@ManyToMany(mappedBy="users",fetch=FetchType.LAZY)
private Set<Department> departments = new HashSet<Department>(0);
@ManyToOne
@JoinColumn(name="company_id",nullable=false)
private Company company;
@OneToMany(cascade=CascadeType.ALL, mappedBy="user", fetch=FetchType.LAZY)
private Set<DepartmentJobUserLink> departmentJobUsers = new HashSet<DepartmentJobUserLink>(0);
@Column(length=20)
private String password;
@Column(length=20)
private String forename;
public User(){
super();
}
/* Getters and setters */
}
pouvez-vous poster quelques exemples de mappings? –
J'ai modifié mon message original avec un exemple de mappage. Je peux ajouter à cela si ce n'est pas suffisant. C'est assez représentatif de mes autres entités. – Donny