Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql JPA和Postgres:查询外键_Postgresql_Jpa_Spring Boot - Fatal编程技术网

Postgresql JPA和Postgres:查询外键

Postgresql JPA和Postgres:查询外键,postgresql,jpa,spring-boot,Postgresql,Jpa,Spring Boot,我有两个实体 Rater,有一对多映射到Rating @Entity @Table(name = "Rater") public class Rater { @Id private Long id; @OneToMany(mappedBy = "rater") private Set<Rating> ratings; /** constructor, getters, setters, etc. */ } 我想找到id为3的评分员所做的

我有两个实体

Rater,有一对多映射到Rating

@Entity 
@Table(name = "Rater")
public class Rater {
    @Id
    private Long id;

    @OneToMany(mappedBy = "rater")
    private Set<Rating> ratings;

    /** constructor, getters, setters, etc. */
}
我想找到id为3的评分员所做的所有评分。我会在Postgres中通过以下查询来完成这一点:

从评级中选择评级,其中rating.Rater\u id=Rater.id和Rater.id=3;

当我将其转换为我的JPA REST API时

@RepositoryRestResource(collectionResourceRel = "rating", path = "ratings")
public interface RatingRepository extends PagingAndSortingRepository<Rating, Long> {

    @Query("SELECT rating FROM Rating rating WHERE rating.rater.id = :id")
    List<Rating> findByRaterId(@Param("id") Long id);
}
@RepositoryRestResource(collectionResourceRel=“rating”,path=“ratings”)
公共接口分级存储库扩展了分页和排序存储库{
@查询(“从rating rating中选择rating,其中rating.rater.id=:id”)
列出findByRaterId(@Param(“id”)长id);
}
我打电话时出错了

错误:列分级0\uID不存在

如何正确查询外键?

更改此行

@JoinColumn(referencedColumnName = "id", nullable = false)

@JoinColumn(referencedColumnName = "id", nullable = false)
@JoinColumn(name = "rater_id", nullable = false)