Postgresql JPA和Postgres:查询外键
我有两个实体 Rater,有一对多映射到RatingPostgresql 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的评分员所做的
@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)