你能给我举一个 Hibernate 映射的例子,用于以下情况:

  • 带有简单主键 (foo) 的父表 (foo_id)
  • 子表( bar ),复合键由

    a) 父表的外键( foo_id )

    b) 字符串
  • 类型的键( item )
  • 多个 child 有一个 parent
  • 父类将有一个子对象列表
  • 当父类被保存、更新、删除时,更改将级联到子类
  • 最佳答案

    我还没有完全按照你的要求去做,但这可能会让你朝着正确的方向前进。我认为它应该工作。这个 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/

    10-15 23:59