【问题标题】:activejdbc association between 2 models2个模型之间的activejdbc关联
【发布时间】:2020-02-08 15:32:19
【问题描述】:

我有一个包含以下 2 个表的数据库。

表 1

CREATE TABLE players ( id INT AUTO_INCREMENT, firstName VARCHAR(255), lastName VARCHAR(255), birthDate DATE, position VARCHAR(255), id_teams INT, PRIMARY KEY (id), FOREIGN KEY (id_teams) REFERENCES teams(id) );

表 2

CREATE TABLE teams ( id INT AUTO_INCREMENT, name VARCHAR(255) NOT NULL UNIQUE, PRIMARY KEY (id) );

我的 java 项目中还有模型 Team 和 Player 扩展 Model。我可以将球队和球员添加到数据库,但我不明白如何在不手动插入外键的情况下将球员添加到球队。

我尝试过类似的方法:

teams.get(0).addPlayer("Thomas", "Miller", new Date(2020, 0, 7), "Forward");

但这给了我错误

No association from model 'class sportstats.domain.Team' to model 'class sportstats.domain.Player'.

有什么建议可以让我思考这个问题吗?

【问题讨论】:

    标签: java activejdbc


    【解决方案1】:

    请在此处查看 ActiveJDBC 文档:https://javalite.io/one_to_many_associations

    players.id_teams 列应该被称为players.team_id,然后它会起作用。

    【讨论】:

    • 你知道这个问题的答案吗:如果我有一个包含“homeTeam_id”和“awayTeam_id”列的表匹配,并且我想在匹配中添加 2 个团队。我怎样才能做到这一点?只是使用例如Teams.findById(1).add(new Team("Real Madrid"));不起作用,因为没有关联。那么如何添加主队和客队呢?
    • @TehSwish,此评论与问题无关。请提交一个新问题并提供所有相关详细信息,包括您的表格的 DDL;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多