有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

spring如何修复java。lang.illegalargumentexception在此特定场景中是否尝试创建具有null实体的合并事件?

我有JSF2。x web应用程序,其中包含用于数据库事务的hibernate/spring数据层jpa

我有Foojava实体,它作为Bar作为它的属性,具有OneToOne关系

@Entity
@Table(name="FOO")
public class Foo {
    @Id
    @Column(name="FOO_ID", nullable=false)
    private UUID fooId;

    @OneToOne
    private Bar bar;

}

这两个实体在数据库中都有自己的表。表Bar的主键为bar_id,外键为foo_id。我试图使用spring数据jpa中的自定义存储库extends jpa positionory从Bar表中删除特定条件下的一条记录

我执行了以下声明,我认为它应该起作用

this.barRepository.delete(foo.getBarId());

然而,我遇到了java.lang.illegalargumentexception attempt to create merge event with null entity。我读了一篇关于它的文章null作为参数传递,但我通过调试验证了foo.getBarId()不是空的。 我不确定哪里出了问题,以及如何纠正

[更新]

对不起。我发现了我的错误。For BarRepository的实体类型错误

public interface BarRepository extends JpaRepository<Foo, UUID>

应该是:

public interface BarRepository extends JpaRepository<Bar, UUID>

共 (0) 个答案