我正在使用以下Crud存储库的实现,需要在其中查找MyObject是否包含对OtherObject的引用。

public interface MyRepository extends CrudRepository<MyObject, Long> {
    List<MyObject> findByOtherObject(Long id);
}


这是我映射实体的方式:

@Entity
@Table(name = "mytable")
public class MyObject {
    @OneToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "object_id")
    private OtherObject otherObject;
}


我得到的错误是:

java.lang.IllegalArgumentException: Parameter value [3] did not match expected type


这表明我在实体和存储库之间映射不正确。但是我不想更改列的名称。

如果我将存储库方法更改为findByObject_Id,则无法正常工作。有什么建议吗?

最佳答案

尝试使用

findByOtherObjectId(Long id)

07-27 20:25