Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用复合密钥休眠单向OneToMany_Java_Hibernate_Composite Primary Key_Hibernate Onetomany - Fatal编程技术网

Java 使用复合密钥休眠单向OneToMany

Java 使用复合密钥休眠单向OneToMany,java,hibernate,composite-primary-key,hibernate-onetomany,Java,Hibernate,Composite Primary Key,Hibernate Onetomany,我想把Hibernate和OneToMany的关系框起来 父项具有复合主键,子项具有主键(hibernate自动生成)。下面是我的工作示例代码: class Parent{ @EmbeddedId private ParentPk parentPk; @OneToMany( mappedBy="parent") private List<ChildType1>; @OneToMany( mappedBy="parent") pri

我想把Hibernate和OneToMany的关系框起来 父项具有复合主键,子项具有主键(hibernate自动生成)。下面是我的工作示例代码:

class Parent{

    @EmbeddedId
    private ParentPk parentPk;

    @OneToMany( mappedBy="parent")
    private List<ChildType1>;

    @OneToMany( mappedBy="parent")
    private List<ChildType2>;

    @OneToMany( mappedBy="parent")
    private List<ChildType3>;

    //--setters and getters
}

@Embeddable
public class ParentPk {

    private Long parentId;

    private BigDecimal version;

    //..setters and getters
}

class ChildType1{
    @Id
    private Long childId;

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumns({ @JoinColumn(name = "parentId"),
            @JoinColumn(name = "version") })
    private Parent parent;

    //..other fields and setters and getters
}

//--ChildType2 and ChildType3 like above
类父类{
@嵌入ID
私人家长;
@OneToMany(mappedBy=“家长”)
私人名单;
@OneToMany(mappedBy=“家长”)
私人名单;
@OneToMany(mappedBy=“家长”)
私人名单;
//--二传手和接球手
}
@可嵌入
公共类ParentPk{
私人长父ID;
私有大十进制版本;
//…二传手和接球手
}
类别ChildType1{
@身份证
私人长童;
@多通(级联=级联类型.ALL)
@JoinColumns({@JoinColumn(name=“parentId”),
@JoinColumn(name=“version”)}
私人家长;
//…其他字段和setter和getter
}
//--上面的ChildType2和ChildType3类
但现在我想将上面的模型建模为一对多单向关系,即子类不应该引用父类(希望在子类中省略父实例)。可能吗?

示例方法:

@实体
班级家长{
@嵌入ID
私人家长;
@独身癖
@列({
@JoinColumn(name=“parentId”,referencedColumnName=“parentId”),
@JoinColumn(name=“version”,referencedColumnName=“version”)
})
私人名单儿童1;
//与children1的注释完全相同
私人名单儿童2;
//与children1的注释完全相同
私人名单儿童3;
//…其他字段和setter和getter
}
@实体
类别ChildType1{
@身份证
私人长童;
//…其他字段和setter和getter
}
//--上面的ChildType2和ChildType3类

是的,这是可能的。将JoinColumns注释放在父类的列表上。