错误:表上的 UPDATE 或 DELETE 语句

问题描述

在使用 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 (将#修改为@)