我的所有存储库都在扩展commonService存储库,而commonService存储库反过来也在扩展JpaRepository和JpaSpecification
public interface CommonReadRepository<T>
extends JpaRepository<T, Long>, JpaSpecificationExecutor<T> {
我想在CommonReadRepository中定义原生Sql查询,如:mysql:select*from table limit 1,20;
@Query(value=“Select*from?1 limit?2,?3”,nativeQuery=true)
List<?> customFindQuery(String tableName,int offset,int limit);
但我收到了SqlGrammerException,不幸的是,我没有在文档中找到关于语法的太多信息。
我知道如果我可以定义存储库中的查询,那么我知道表名,但是否可能使它通用?
谢谢
在spring数据参考中定义的基本存储库部分
遵循参考文献中定义的指导原则,如下所示:
@NoRepositoryBean
interface CommonReadRepository<T, ID extends Serializable> extends JpaRepository<T, ID> {
List<T> custonFindQuery();
}
@Repository
interface UserRepository extends CommonReadRepository<User, Long> {
User findByEmailAddress(EmailAddress emailAddress);
}
对于特定查询列表<?>customFindQuery(字符串表名、int偏移量、int限制);
在jparepository
中已经通过调用以下方法支持它:
Page<T> findAll(Pageable pageable)
例如:
Page<User> all = userRepository .findAll(new PageRequest(3, 10));
其中offest=30(3 x 10),极限=10
我使用注释和注释执行查询,并从数据库表中删除记录。 错误: xxx的例外。xxx。xx,原因='javax。坚持不懈TransactionRequiredException:执行更新/删除查询“和异常=”执行更新/删除查询;嵌套的异常是javax。坚持不懈TransactionRequiredException:执行更新/删除查询'
是我的服务方式 } 2018-10-04 17:15:44.452 WARN 64056---[nio-8080-exec-4]O.s.web.servlet.PageNotFound:不支持请求方法“Post”2018-10-04 17:15:44.452 WARN 64056---[nio-8080-exec-4].w.s.m.s.DefaultHandlerExceptionResolver
使用HiberNate从表中检索整数值,发生以下异常, java.lang.ClassCastException:java.lang.Integer 不能强制转换为 pojo。数据集状态 Pojo类格式, 如果有任何解决此问题的建议
但是显示错误“Distinc expected”,是因为我在@Query注释中使用了*而得到的吗?请问怎么了?
本节将学习如何从SQL Server数据库查询数据。从一个简单的查询开始,查询语句用于从单个或多个表中检索数据。 SQL是一种特殊目的的编程语言,它是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语
我使用Spring引导和Spring数据JPA。它工作得很好但是!我需要使用复杂的本地查询从Oracle数据库(源数据从SAP ERP)。 假设查询包含5个joned表(一个键或组合键)。我可以使用很多参数。 解决方案: 1)由于耗时,使用JPA为该查询编写新查询是不真实的。创建表之间的所有键关系似乎很复杂。 2)为了运行这些查询,我使用JDBC。这很容易,因为我准备了本机查询。但我深信这种做法是