JPA Specification多表查询的问题

新手上路,请多包涵
public class A{
    private int id;
    private String name;
}
public class B{
    private int id;
    private int className;
    private String name;
}

一对多的关系。一条A有多条B记录,要通过Bname关联,获得className。
我配置JoinColumn的时候是这样配置的。

public class A{
    private int id;

    @ManytoOne
    @JoinColumn(name="name",referencedColumnName="name")
    private B b;
}
public class B{
    private int id;
    private int className;
    private String Bname;
}

可是A类一直报 No property Bname found for type A
看了网上很多博客,JoinColumn的name属性究竟是填本表的外键属性,还是关联表的外键属性呢?

阅读 3.7k
1 个回答
新手上路,请多包涵

1对多,1A对多B
不应该这样吗:

public class A{
    private int id;

    @OneToMany
    @JoinColumn(name="name")
    private B b;
}

然后B中应该要有@JoinColumn对应的name值作为属性:

public class B{
    private int id;
    private int className;
    private String name;
}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题