小编Ana*_*and的帖子

如何在 JPA Repository 接口中编写不同的 SQL 子句

我正在尝试使用 JpaRepository 接口来构建一个不同的子句。我尝试了几乎所有可能的编写 findDistinctBy... 的组合,但失败了。在许多资源/链接中,问题是通过使用@Query注释解决的,但由于一些限制,我只想使用spring数据。

示例实体类只有一列,我想要不同的值:

@Entity
@Table(name="data")
public class Data implements Serializable 
{

    private static final long serialVersionUID = -6967098988952450546L;

    @Id
    @Column(name="id")
    private Integer id;

    // constructor, getters and setters

Run Code Online (Sandbox Code Playgroud)

存储库接口:

@Repository
public interface DataRepository extends JpaRepository<Data, Integer> 
{
    public List<Integer> findDistinctById();
}
Run Code Online (Sandbox Code Playgroud)

错误跟踪:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataRepository': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.List com.example.demo.repository.DataRepository.findDistinctById()! Method public abstract java.util.List com.example.demo.repository.DataRepository.findDistinctById() expects at …
Run Code Online (Sandbox Code Playgroud)

java hibernate spring-data-jpa

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

hibernate ×1

java ×1

spring-data-jpa ×1