Hibernate объединяет каждую таблицу в базе данных - PullRequest
0 голосов
/ 02 августа 2010

Я настроил небольшой проект в качестве теста.Я использую BlazeDS и JPA с Hibernate на своем тестовом сервере и использую dpHibernate для доступа к объектам Java.Каждый объект Java расширяет BaseEntity, класс, который содержит поля ID и UUID.Сущности Flex создаются с помощью DTO2FX.

Моя проблема заключается в том, что когда я запускаю проект Flex, чтобы попытаться отобразить несколько строк из сущности Users, фактически выполняемый SQL соединяет каждую таблицу в моембаза данных.Это продолжается, пока я не получу java.lang.StackOverflowError.Такое поведение совершенно неожиданно, и я не совсем уверен, где искать решение проблемы.Будем весьма благодарны за любые предложения.

Очевидно, что я пропустил некоторые детали, но я надеюсь, что это дает разумное представление о проекте.Я был бы более чем счастлив включить любой код, который может быть полезен, но я действительно не знаю, что вызывает поведение в данный момент.Спасибо!

РЕДАКТИРОВАТЬ: Вот карта, которая может лучше объяснить проблему.

@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 */ 

}

Ответы [ 2 ]

2 голосов
/ 02 августа 2010

Вы заставили лени-загрузку ложь?

0 голосов
/ 02 августа 2010

Звучит так, будто у вас есть цикличность в ваших таблицах зависимостей SQL, но это только предположение. Это уже проверено?

...