小编典典

使用CompositeKey的休眠示例OneToMany

hibernate

您能否为我提供以下情况下的Hibernate映射示例:

  1. foo带有简单主键(foo_id)的父表()
  2. 子表(bar),其复合键包括

a)父表的外键(foo_id

b)item字符串类型的key()

  1. 有一个孩子的父母
  2. Parent类将具有Child对象的列表
  3. 当父类保存,更新,删除后,更改将级联到子类

阅读 297

收藏
2020-06-20

共1个答案

小编典典

我没有完全按照您的要求进行操作,但这可能会使您朝着正确的方向入手。我认为应该可以。此页面非常详细地解释这些注解。

@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()    
}
2020-06-20