gpt4 book ai didi

java - ORM:文章、修订和主要修订

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:25 28 4
gpt4 key购买 nike

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. 整数parentId

  2. 文章父文章

  3. 列出修订版本

我将不胜感激任何建议。

最佳答案

将您的 sql 转换为 hibernate/jpa 实体:

@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实体审计吗?对你有帮助吗?每次您更改“文章”时,它都会存储一个带有修订号的副本。

hibernate envers的链接: http://docs.jboss.org/envers/docs/index.html

关于java - ORM:文章、修订和主要修订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9086109/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com