public interface ConsumerRepository extends CrudRepository<Consumer, Long> {
List<Consumer> findByLastName(String lastName);
List<Consumer> findByFirstName(String firstName);
//List<Consumer> readExistsFirstName(String firstName);
//List<Consumer> getByFirstNameAndLastNameOrderByFirstName();
//Collection<Consumer> findById(Long id);
@Query("select c from Consumer as c where c.firstName like '%?1%'")
Collection<Consumer> findByNameContains(String word);
@Query(value = "SELECT ppc_consumer FROM ppc_consumer WHERE lastname = ?1",
countQuery = "SELECT count(*) FROM ppc_consumer WHERE lastname = ?1",
nativeQuery = true)
Page<Consumer> findByLastname(String lastname, Pageable pageable);
}
但是显示错误“Distinc expected”,是因为我在@Query注释中使用了*而得到的吗?请问怎么了?
让我们按照下面的例子做-
@Query(value = "SELECT * FROM consumer WHERE lastname = :lastName LIMIT :maxRecord", nativeQuery = true)
StickerProduct findWalletProduct(@Param("lastName") String lastName, @Param("maxRecord") Long maxRecord);
用另一种方法来代替*:
@Query(value = "SELECT c FROM consumer c WHERE lastname = :lastName LIMIT :maxRecord", nativeQuery = true)
StickerProduct findWalletProduct(@Param("lastName") String lastName, @Param("maxRecord") Long maxRecord);
我希望它能起作用。谢谢
你不能使用*在spring jpa中,你必须使用别名。试着这样做:
@Query(value = "SELECT ppc FROM ppc_consumer ppc WHERE ppc.lastname = ?1",
countQuery = "SELECT count(ppc) FROM ppc_consumer ppc WHERE ppc.lastname = ?1")
有关更多信息,请参见此问题
Spring Data JPA是否有任何方法使用方法名解析来计算实体?
我使用注释和注释执行查询,并从数据库表中删除记录。 错误: xxx的例外。xxx。xx,原因='javax。坚持不懈TransactionRequiredException:执行更新/删除查询“和异常=”执行更新/删除查询;嵌套的异常是javax。坚持不懈TransactionRequiredException:执行更新/删除查询'
我对Spring中的原生查询有一个问题。我在param value中使用了带有参数nativequery=true注释@query和SQL查询。 而在RezerWacjamanager.java中: 问题是什么时候调用方法RezerWacjadao.getDoStepnosCnatypy(dataOd,dataDo)并执行此查询。我得到一个错误错误: DoStepNosCtypyListdTo.j
我的服务是这样的: 存储库: 当尝试执行时。它返回“查询没有返回结果”,Hibernate SQL调试器表示只有第1个查询有效。“Hibernate:创建或替换view camera_layout AS select layout_id,unnest(layout.camera_ids)AS camera_id from layout”其余部分分解,尽管它们应该能帮助我,但我还是提前感谢
我们可以将. sql文件传递或输入到Spring JPA中的查询注释吗? 类似这样的@Query(文件:/sql/employeeList.sql,nativeQuery=true) /sql/employeeList。sql-我想把这个文件放在代码中的某个地方,其中包含select sql。 我不希望有原生sql字符串@查询(“选择abc….”,nativeQuery=true)--我不想这样使
我的所有存储库都在扩展commonService存储库,而commonService存储库反过来也在扩展JpaRepository和JpaSpecification 我想在CommonReadRepository中定义原生Sql查询,如:mysql:select*from table limit 1,20; @Query(value=“Select*from?1 limit?2,?3”,nativ
我试图在elasticsearch spring数据中使用@query annotation来进行复杂的查询,但当我尝试下面的简单查询时,我得到了一个错误 堆栈跟踪