小弟刚刚学hibernate 没多久 问个比较菜鸟的问题
如果想建立这样三张表的映射 其中 第三张表的主键 是前两张表 的主键 在第三张表上的外键构成的联合主键 这样的映射对象该怎么写,= = 可能这个说法有点混乱假设 这三张表 是这样的:A表
===============
AID Primary
NAME
===============B表
===============
BID Primary
NAME
===============
C表
===============
AID Primary A表的外键
BID Primary B表的外键
NAME
===============各位大哥 谁能帮小弟解决下这个问题啊先说声谢谢了
如果想建立这样三张表的映射 其中 第三张表的主键 是前两张表 的主键 在第三张表上的外键构成的联合主键 这样的映射对象该怎么写,= = 可能这个说法有点混乱假设 这三张表 是这样的:A表
===============
AID Primary
NAME
===============B表
===============
BID Primary
NAME
===============
C表
===============
AID Primary A表的外键
BID Primary B表的外键
NAME
===============各位大哥 谁能帮小弟解决下这个问题啊先说声谢谢了
C表 manytoone 对B表
至于反向的a->c b->c要不要建onetomany,那就看需要了,不是必须就没必要建
应该从类下手。建立两个对象类(A类,B类)。在建一个关系类(A+B的键做为做为联合主键 )。example:
class A{
private long id;
}class B{
private long id;
}class C{
private A a;
private B b;
}
@Entity
class A{
private long id;
@Id
public long getId();
//set方法
} @Entity
class B{
private long id;
@Id
public long getId();
//set方法
}
@Entity
@IdClass(ABPK.class)
class C{
private A a;
private B b;
@Id
public A getA();
@Id
public B getB();
}
//这个就不说了
class ABPK{
private A a;
private B b;
}
试了 把联合主键换成对象设成对象 表就是不出来 也不报错..但是如果是主键设成基本类型 就可以.
但是那样 对象之间就关联不起来了