Создание дерева отношений в спящем режиме - PullRequest
1 голос
/ 11 февраля 2011

Я стремлюсь сделать эту простую вещь: я хочу древовидные отношения (забудь о производительности, она будет мелкой, не более 2 -3 уровней).Я попробовал это:

@ Entity @Table (name = "BASE") открытый класс BaseEBean {

int id;
String text;

BaseEBean parent;

Set<BaseEBean> children = new HashSet<BaseEBean>();

@Id
@GeneratedValue
@Column(name = "ID")
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}

@Column(name = "TEXT")
public String getText() {
    return text;
}
public void setText(String text) {
    this.text = text;
}

@ManyToOne
@Cascade(value = { CascadeType.ALL })
public BaseEBean getParent() {
    return parent;
}
public void setParent(BaseEBean parent) {
    this.parent = parent;
}

@OneToMany(mappedBy = "parent", fetch = FetchType.EAGER)
public Set<BaseEBean> getChildren() {
    return children;
}
public void setChildren(Set<BaseEBean> children) {
    this.children = children;
}       

}

Я проверил это, запустив два компонента A иB. Сохранение A. Установка A в качестве родителя B.Сохранение B. Затем загрузка из базы данных A. Я ожидал, что набор будет содержать B, но не повезло.Свойство Children будет иметь размер () = 0. Я даже не пытался удалить .. но я пессимистичен.

Помощь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...