繁体   English   中英

使用 Java JPA 和 Spring Data 在 MYSQL 数据库中存储结构化注释

[英]Storing structured comments in MYSQL database using Java JPA and Spring Data

使用 Spring Data 和 Java JPA,我想将评论线程存储在 MYSQL 表中。 评论是关于一些数据块的,每条评论都可以有任意数量的子评论(想想 Reddit)。 我想知道这个 Java 类是否可以满足我的需求。

@Entity
public class Comment extends Identified {

    // Comment data
    @Column(nullable=false)
    private String data;

    // Parent comment
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(nullable=true)
    private Comment parent;

    // Sub comments
    @OneToMany(fetch=FetchType.EAGER)
    @JoinColumn(nullable=true, mappedBy="parent")
    private Set<Comment> children;

    public Comment() { }
    ....

澄清一下,我主要关心的是与同一个类同时具有多对一和单对多关系。 看起来很丑,但也喜欢表达这种关系的唯一方式。

我向你保证你的映射是完全正常的,我什至会说平常。 这两种关系(多对一和一对多)在 DB 中使用不同的概念来实现,并且不会发生冲突。 由于关系是双向的,两个映射都代表两个不同链接的不同端(一个是与父级的关系,另一个是与子级的关系)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM