问题描述
在使用 Spring Boot 和 Spring JPA 的项目中,我有两个实体 FunctionConfiguration 和 InvokeFunctionResult。
@Entity
@Table(name = "function_configuration")
public class FunctionConfigurationEntity {
@Id
@Column(name = "id_function_configuration")
@GeneratedValue(strategy = IDENTITY)
private Integer idFunctionConfiguration;
}
@Entity
@Table(name = "invoked_function_result")
public class InvokedFunctionResultEntity {
@Id
@Column(name = "id_invoked_result_function")
@GeneratedValue(strategy = IDENTITY)
private Integer idInvokedResultFunction;
@OnetoOne(fetch = FetchType.LAZY)
@JoinColumn(name = "function_configuration_id",nullable = false,foreignKey = @ForeignKey(name = "function_configuration_fk"),referencedColumnName = "id_function_configuration")
private FunctionConfigurationEntity functionConfiguration;
}
InvokeFunctionResult 的外键是 FunctionConfiguration 的 id。 如果我尝试使用 InvokeFunctionResult 中存在的 functionConfiguration 的 id 进行删除:
@Transactional
@Modifying
@Query(value = "DELETE FROM FunctionConfigurationEntity fce WHERE fce.idFunctionConfiguration = idFunctionConfiguration")
void deleteByFunctionConfigurationId(@Param("idFunctionConfiguration") Integer functionConfigurationId);
我收到以下错误:由:org.postgresql.util.PsqlException:错误:表“function_configuration”上的更新或删除语句违反表“invoked_function_result”上的外键约束“function_configuration_fk”
我该如何解决?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)