ORM: статья, редакции и основные редакции - PullRequest
1 голос
/ 01 февраля 2012

Какова лучшая практика в ORM для хранения статей и их редакций? При самостоятельном хранении в SQL я имел следующую структуру:

 articles [id, parent_id, name, text]

и по parent_id я мог легко распознать родительскую статью:

 SELECT * FROM articles WHERE parent_id = 0;

выберет родительские ревизии и,

 SELECT * FROM articles WHERE parent_id = 330;

выберет все редакции статьи # 330.

Как правильно сделать это в ORM? Должен ли я иметь:

  1. Integer parentId

  2. Статья родителяСтатья

  3. Список редакций

Буду признателен за любые предложения.

1 Ответ

1 голос
/ 01 февраля 2012

переведите ваш sql в hibernate / jpa entity:

@Entity
@Table.....
public class Article {

    @Id
    @Column
    private Integer id,

    @OneToMany(mappedBy="parentArticle")        
    private Set<Article> childArticles;

    @ManyToOne
    @JoinColumn(name="parent_id")
    private Article parentArticle

    @Column
    private String name,text
    ...

Я не знаю ваших точных требований.Вы проверили ревизию спящего объекта?это полезно для вас?он будет хранить копию с номером редакции каждый раз, когда вы меняете «статью».

ссылка hibernate envers: http://docs.jboss.org/envers/docs/index.html

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