你能给我举一个 Hibernate 映射的例子,用于以下情况:
foo
) 的父表 (foo_id
) bar
),复合键由a) 父表的外键(
foo_id
)b) 字符串
item
)最佳答案
我还没有完全按照你的要求去做,但这可能会让你朝着正确的方向前进。我认为它应该工作。这个 page 更详细地解释了这些注释。
@Entity
public class Foo {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId(){
}
...
@OneToMany(mappedBy="foo")
public Collection<Bar> getBars() {
}
...
}
@Entity
@IdClass(BarPk.class)
public class Bar implements Serializable {
@ManyToOne
@JoinColumn(name="foo")
@Id
public Foo getFoo() {
return foo;
}
@Column(name="key", length=255)
@Id
public String getKey(){
}
}
@Embeddable
public class BarPk implements Serializable {
public Foo getFoo() {
return foo;
}
public void setFoo(Foo foo) {
}
public String getKey(){
...
}
public void setKey(String key){
...
}
//you must include equals() and hashcode()
}
关于java - 带有复合键的 Hibernate 示例 OneToMany,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1008748/