首页 > 解决方案 > 我需要将此休眠表表示为 mysql 表

问题描述

@Entity
public class Domain {

    @Id
    private long id;

    /** The parent domain, can be null if this is the root domain. */
    @ManyToOne
    private Domain parent;

    /**
     * The children domain of this domain.
     *
     * This is the inverse side of the parent relation.
     *
     * <strong>It is the children responsibility to manage there parents children set!</strong>
     */
    @OneToMany(mappedBy = "parent")
    private Set<Domain> children = new HashSet<Domain>();

我知道如何创建表,例如:创建表域(id int(10)等,但我不明白如何插入域父级。通常我在树应用程序中需要帮助,需要表示关系ip父子关系

标签: javaspringhibernatehibernate-mapping

解决方案


这只是表之间的正常关系。

CREATE TABLE DOMAIN
  (
     id        BIGINT auto_increment,
     -- other..
     parent_id BIGINT
  );

ALTER TABLE DOMAIN
  ADD CONSTRAINT FOREIGN KEY (parent_id) REFERENCES DOMAIN(id);

推荐阅读