具有引用同一类的多个父对象的ActiveJDBC对象

具有引用同一类的多个父对象的ActiveJDBC对象,activejdbc,Activejdbc,我有一个相当简单的模型,有两个对象:团队和游戏。团队对象具有团队的名称,游戏对象会两次查找团队对象。一个通过“客场球队id”和一个通过“主场球队id”字段 我对ActiveJDBC相当陌生,但已经使用PHP ActiveRecord很长时间了。我一辈子都搞不清楚如何通过游戏对象引用每个团队。我的游戏对象中有以下注释: @BelongsToParents({ @BelongsTo(foreignKeyName="home_team_id",parent=Team.class), @Belong

我有一个相当简单的模型,有两个对象:团队和游戏。团队对象具有团队的名称,游戏对象会两次查找团队对象。一个通过“客场球队id”和一个通过“主场球队id”字段

我对ActiveJDBC相当陌生,但已经使用PHP ActiveRecord很长时间了。我一辈子都搞不清楚如何通过游戏对象引用每个团队。我的游戏对象中有以下注释:

@BelongsToParents({ 
@BelongsTo(foreignKeyName="home_team_id",parent=Team.class), 
@BelongsTo(foreignKeyName="away_team_id",parent=Team.class)
}) 

public class Game extends Model {
}
在我的测试代码中,我有:

Team homeTeam = game.parent (Team.class);
但很明显,这只是其中的一个,我甚至不知道它是怎么知道是哪一个!任何帮助都将不胜感激


提前谢谢

这是一个不寻常的情况。我建议这样做:

public class Game extends Model{
  public Team getHomeTeam(){
    return Team.findFirst("id = ?", get("home_team_id"));
  }
    public Team getAwayTeam(){
    return Team.findFirst("id = ?", get("home_away_id"));
  }
}
我建议用这样的语义方法包装ActiveJDBC,以帮助将来进行潜在的重构


tx

Okie dokie。我真的“认为”我的模型是实现我要做的事情的最佳方式。我可以轻松地使用PHP Active Record,但当我尝试使用Java时,我遇到了这个问题。这根本不是“不寻常的情况”。语义方法是有意义的,但是您失去了渴望加载的特性。可以让include()方法指定要包含的“字段”是什么?我的意思是,parent()或include()方法应该指定所需的“字段”,而不仅仅是类名。下面是指向Github问题的链接和讨论:
public class Game extends Model{
  public Team getHomeTeam(){
    return Team.findFirst("id = ?", get("home_team_id"));
  }
    public Team getAwayTeam(){
    return Team.findFirst("id = ?", get("home_away_id"));
  }
}