要使用findWithTitle()方法从具有spring data crudrepository的数据库中获取实体,请执行以下操作: interface TasksCrudRepository extends CrudRepository<Task, Long> {
@Query(value = "SELECT t FROM Task t WHERE t.title IS NOT NULL")
List<Task> findWithTitle();
} 但是,我得到: org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "T" not found; SQL statement: SELECT t FROM Task t [42122-199] 我找不到原因。据我所知,这个语法应该按预期工作。 Task entity如下: @Data @Table("task") @AllArgsConstructor public class Task { @Id private Long id; private String title; private String description; private Set attachments; private Set tagRefs; @CreatedDate private LocalDateTime createdAt; @LastModifiedDate private LocalDateTime updatedAt; } 这是它的模式: CREATE TABLE task ( id IDENTITY, title VARCHAR(100), description VARCHAR(1024), created_at TIMESTAMP, updated_at TIMESTAMP, );
请使用预定义的Spring JPA方法。 请尝试以下方法。
interface TasksCrudRepository extends CrudRepository<Task, Long> {
List<Task> findByTitleNotNull();
} 修改完成: 删除查询注释 重命名方法以匹配JPA标准预定义服务
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。