如何解决休眠@ManyToOne映射
我正在使用单向@ManyToOne映射。代码看起来像这样。
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;
}
PolicyDetailsEntity看起来像这样
public class PolicyConfigDetailsEntity extends BaseEntity implements Serializable {
@NotNull
private Long policyReferenceId;
@NotBlank
private String policyName;
private boolean isActive;
}
我是否需要在policyReferenceId
中专门添加列PolicyCatalogEntity
?
PS:policyReferenceId
不是primaryKey。这只是一个复合键。
如果没有,则出现以下错误
Field 'policy_reference_id' doesn't have a default value
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
(?,?,?)
解决方法
自从您提到 createSwitchNavigator(
{
LimitedAccess: {
screen: Trial,},AppScreens: {
screen: AppScreens,AuthScreens: {
screen: AuthScreens,{
initialRouteName: signedIn ? 'AppScreens' : 'AuthScreens',),
在这里:
@JoinColumn(name =“ policyReferenceId”,referencedColumnName =“ policyReferenceId”, nullable = false,可插入= false ,可更新= false)
hibernate将让您的数据库本身处理插入的值。 在这种情况下,您必须为数据库表设计中的该列设置默认值
还要注意insertable = false
,它只会让您为该列插入新值
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。