【问题标题】:Ebean Many To Many RelationShip in PlayframeworkPlayframework中的Ebean多对多关系
【发布时间】:2018-07-29 19:56:33
【问题描述】:

我想在两个表“术语”和“同义词”之间创建多对多关系,但我现在不知道如何编写模型! 任何帮助!还有很多。

【问题讨论】:

  • 欢迎来到stackoverflow。请包括一个清晰的问题描述,如果可能的话,一些最小的代码。如需指导,请查看how to ask 页面和how to create a minimal example
  • 好的,我会的!

标签: playframework many-to-many relationship ebean


【解决方案1】:

为此,您需要 2 个模型。在Term类中:

@Entity
public class Term extends Models {
    @Id
    private String id;

    @ManyToMany
    private List<Synonym> synonyms = new ArrayList<>();
}

Synonym 类中:

@Entity
public class Synonym extends Models {
    @Id
    private String id;

    @ManyToMany
    @JoinTable
    private List<Term> terms = new ArrayList<>();
}

对于您的数据库结构,它将如下所示:

CREATE TABLE term {
    id CHAR(255)
}

CREATE TABLE synonym {
    id CHAR(255)
}

CREATE TABLE term_synonym {
    term_id CHAR(255),
    synonym_id CHAR(255),
    PRIMARY KEY(term_id, synonym) // This is needed to avoid having the same many to many relation
}

需要term_synonym表来维护数据库级别的@ManyToMany关系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多