Playframework 播放框架实体连接

Playframework 播放框架实体连接,playframework,entity,models,Playframework,Entity,Models,这是一个初学者的问题,我正在尝试使用play框架,我有一个问题似乎无法解决 假设我将类A和B定义为 package models; @Entity public class A extends Model { @Id Long idA; List<B> listofB; etc.. } package models; @Entity public class A extends Model { @Id Long idA; List<B> listofB; etc.. }

这是一个初学者的问题,我正在尝试使用play框架,我有一个问题似乎无法解决

假设我将类A和B定义为

package models;
@Entity
public class A extends Model {
@Id
Long idA;
List<B> listofB;
etc..
}
package models;
@Entity
public class A extends Model {
@Id
Long idA;
List<B> listofB;
etc..
}
package models;
@Entity
public class A extends Model {
@Id
Long idA;
List<B> listofB;
etc..
}
我还在这两个类中创建了finder类

  • 我希望A有多个B,我希望它们是不同的,比如,我可以有一个id为1的A有一个id为1和2的B,而一个id为2的A有一个id为1和2的B,这些B都是不同的,我怎么做? 我想这可能与@ManyToOne标签之类的东西有关,但我不知道该怎么做

  • 之后,我想创建一个方法,例如

    public B getB(Long idA, Long idB) {
    ...
    }
    
    这可以给我一个明确的B。 我该怎么做

  • 提前谢谢你

    你好

    您想要实现的数据库结构无法实现。
    你的代码

    记得吗

    @Id
    
    将是您的主键

    您的问题表明您的idB是主键,不应具有相同的值

    为了实现这一目标,您可能希望通过这种方式实现

    最后,关于第二个问题, 试试这个

     A a = A.find("idA = ?", someIdA).first();
     B b = a.A.find("idB = ?", someIdB).first();
    
    希望这个答案对你有帮助。:)

    package models;
    @Entity
    public class A extends Model {
    @Id
    Long idA;
    List<B> listofB;
    etc..
    }
    
    package models;
    @Entity
    public class B extends Model {
    @Id
    Long UID;
    
    Long idB;
    etc..
    }
    
     A a = A.find("idA = ?", someIdA).first();
     B b = a.A.find("idB = ?", someIdB).first();