我正在尝试使用 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)