Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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 Hibernate@manytone映射_Java_Spring Boot_Hibernate_Spring Data Jpa_Hibernate Mapping - Fatal编程技术网

Java Hibernate@manytone映射

Java Hibernate@manytone映射,java,spring-boot,hibernate,spring-data-jpa,hibernate-mapping,Java,Spring Boot,Hibernate,Spring Data Jpa,Hibernate Mapping,我正在使用单向@manytone映射。代码如下所示 public class PolicyCatalogEntity extends BaseEntity { @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "policyReferenceId", referencedColumnName = "policyReferenceId", nullable

我正在使用单向@manytone映射。代码如下所示

public class PolicyCatalogEntity  extends BaseEntity {
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "policyReferenceId", referencedColumnName = "policyReferenceId",
            nullable = false, insertable = false, updatable = false)
    private PolicyConfigDetailsEntity policyConfigDetailsEntity;
    @NotBlank
    private String lobName;
 }
我的感觉是这样的

public class PolicyConfigDetailsEntity extends BaseEntity implements Serializable {
    @NotNull
    private Long policyReferenceId;
    @NotBlank
    private String policyName;
    private boolean isActive;
}
是否需要在
PolicyCatalogEntity
中特别添加列
policyReferenceId

PS:
policyReferenceId
不是主键。这只是一个组合键


如果不是,那么我得到以下错误
字段“policy\u reference\u id”没有默认值

Hibernate: 
    insert 
    into
        policy_catalog
        (created_at, created_by, last_modified_by, updated_at, version, end_date, is_active, lob_name, lob_ref_id_type, start_date, tnc_url) 
    values
        (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

因为您提到了
insertable=false
在这里:

@JoinColumn(name=“policyReferenceId”,ReferenceColumnName=“policyReferenceId”, nullable=false,insertable=false,Updateable=false)

hibernate将让db自己处理插入的值。 在这种情况下,必须在db表设计中为该列设置默认值


还要注意
updateable=false
,它只允许您为该列插入新值

如果没有,则我将得到以下错误
字段“policy\u reference\u id”没有默认值