【发布时间】:2016-05-09 16:01:50
【问题描述】:
我无法保存...从子表中提取正在工作 这是我的 父表 pojo
@Entity
@Table(name = "Dei_Resources")
public class DeiResources {
private int id;
private String employeeId;
private Set<DeiResourceType> deiResourceType;
//other setters getters not included
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public int getId() {
return id;
}
@OneToMany(fetch = FetchType.EAGER, mappedBy = "deiResource", cascade = CascadeType.ALL)
public Set<DeiResourceType> getDeiResourceType() {
return deiResourceType;
}
子表 pojo
@Entity
public class DeiResourceType implements Serializable{
private int id;
private int resourceId;
private String typeValue;
@JsonBackReference
private DeiResources deiResource;
//other setters getters not included
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public int getId() {
return id;
}
@ManyToOne(fetch=FetchType.LAZY,optional=false)
@JoinColumn(name = "resourceId", referencedColumnName="id",insertable = false, updatable = false)
public DeiResources getDeiResource() {
return deiResource;
}
我有 DeiResourcesRepository,在我的服务中我正在尝试这个
DeiResources dei = new DeiResources();
DeiResourceType deii = new DeiResourceType();
Set<DeiResourceType> deiResourceType = new HashSet<DeiResourceType>();
deii.setTypeValue("Driver");
deiResourceType.add(deii);
dei.setEmployeeId("unique1");
dei.setDeiResourceType(deiResourceType);
deiResourcesRepository.save(dei);
收到此错误
[错误] org.hibernate.engine.jdbc.spi.SqlExceptionHelper - ORA-02291: 违反完整性约束 (DEI_ADMIN.DEI_RESOURCE_TYPE_R01) - 找不到父键
在 DeiResourceType 表中,我添加了带有父表 ID 的外键约束。我怎样才能摆脱这个错误,任何建议/帮助?
【问题讨论】:
-
类型
Driver是否已经存在于数据库表DeiResourceType中? -
是的,但是 typeValue 没有唯一键约束
标签: java jpa spring-boot