两张表 a,b
表a
id name outid
1 a1 2
2 a2 1
表b
id name
1 b1
2 b2
表a我这样设置关联的
private b bb; @JoinColumn(name = "outid")
@OneToOne(fetch=FetchType.LAZY)
public b getBb() {
return bb;
}
然后我测试类
通过 DAO 得到
a aa = aservice.getA(1);
然后 我输出
System.out.println(aa.getBb().getId());对的 System.out.println(aa.getBb().getName());错的
我知道 他是延迟 加载 我取消了
但为什么 表 b 的 ID 能拿出来 ?
因为 外键 是这个 ?
我不太明白 这里 希望 谁能解释下。或者 推荐 什么资料看看
表a
id name outid
1 a1 2
2 a2 1
表b
id name
1 b1
2 b2
表a我这样设置关联的
private b bb; @JoinColumn(name = "outid")
@OneToOne(fetch=FetchType.LAZY)
public b getBb() {
return bb;
}
然后我测试类
通过 DAO 得到
a aa = aservice.getA(1);
然后 我输出
System.out.println(aa.getBb().getId());对的 System.out.println(aa.getBb().getName());错的
我知道 他是延迟 加载 我取消了
但为什么 表 b 的 ID 能拿出来 ?
因为 外键 是这个 ?
我不太明白 这里 希望 谁能解释下。或者 推荐 什么资料看看
然后 去查 里面 ID 是为0
这个是为什么?
现在 就是 ID 能输出
而且 正确的
输出 NAME 就 报错
就因为 ID 是外键?