Tag: spring data

用mongoTemplate分页

我有一个可查询的查询: Query query = new Query().with(new PageRequests(page, size)) 如何使用MongoTemplate执行它? 我没有看到返回Page的单个方法。

在Spring中将列表转换为页面

我试图在spring将列表转换为页面。 我用它转换了它 new PageImpl(users,pageable,users.size()); 但是现在我有排序和分页本身的问题。 当我尝试传递大小和页面时,分页不起作用。 这是我正在使用的代码。 我的控制器 public ResponseEntity getUsersByProgramId( @RequestParam(name = “programId”, required = true) Integer programId Pageable pageable) { List users = userService.findAllByProgramId(programId); Page pages = new PageImpl(users, pageable, users.size()); return new ResponseEntity(pages, HttpStatus.OK); } 这是我的用户回购 public interface UserRepo extends JpaRepository{ public List findAllByProgramId(Integer programId); 这是我的服务 public List findAllByProgramId(Integer programId);

如何使用java config而不是XML声明存储库populator bean?

我正在开发一个基于Spring的项目(迄今为止)完全没有XML,除了现在我已经使用Spring JPA存储库populator打了一个墙: 如何在java @Configuration类中表达上述内容? 这篇文章建议直接使用FactoryBean: https ://stackoverflow.com/a/13566712/1746274 我试过了,我得到的最接近的是以下但是它不太正确。 @Bean(name=”repositoryPopulator”) public RepositoryPopulator getRespositoryPopulator() throws Exception { final JacksonRepositoryPopulatorFactoryBean factory = new JacksonRepositoryPopulatorFactoryBean(); factory.getObject().setResourceLocation(“classpath:test-data.json”); factory.afterPropertiesSet(); return factory.getObject(); } 上面的结果是FactoryBeanNotInitializedException ,消息JacksonRepositoryPopulatorFactoryBean does not support circular references 。 有任何想法吗?

带有Spring Data和Cassandra @Query的IN子句

我正在尝试使用IN子句和Spring Data中的@Query注释来查询Cassandra表。 我有一个表,其分区键为last_name,聚类键为first_name。 我有这个查询工作 @Query(“SELECT * FROM people WHERE last_name=?0”) public List findByLastName(String lastName); 我想做点什么 @Query(“SELECT * FROM people WHERE last_name=?0 AND first_name IN ?1”) public List findByLastName(String lastName, String[] firstName); 我有它正在使用 CassandraOperations.select(“SELECT * FROM people WHERE last_name=” + lastName + ” AND first_name IN (” + concatinatedNameList + “)”, People.class); 但由于一些原因(代码风格,测试,我发誓还有更多)我更喜欢使用@Query。 有任何想法吗? 编辑更多信息! 传入一个数组,设置或列表返回Caused […]

是否可以结合MyBatis和QueryDSL / jOOQ?

MyBatis提供了映射,本地缓存和开箱即用的日志记录。 因此,QueryDSL / jOOQ提供SQL语句的编译时检查和IDE自动完成。 是否可以将它们结合起来? 换句话说, 我想用QueryDSL或jOOQ创建一个查询,然后使用MyBatis的一些粘合代码/适配器执行它 。 我已经检查过: 我考虑使用QueryDSL生成SQL查询字符串,并在MyBatis中使用它们的’@SelectProvider’注释,但它似乎是一个死胡同:MyBatis在其SQL字符串中需要“$ {xxx}”,但QueryDSL只生成查询基于实际的Java类型,因此即使对于ID也不起作用。 MyBatis Generator作为QueryDSL / jOOQ的替代品:非常差的替代方案,因为它实际上生成了一个样板代码,您以后必须维护和扩展它 MyBatis SQL Builder作为QueryDSL / jOOQ的替代品:比QueryDSL或jOOQ弱得多,例如它不提供列名的编译时检查,它更麻烦,并且它依赖于使代码复杂化的’@SelectProvider’

Spring Data JPA – 注入失败 – BeanCreationException:无法自动assembly字段

我按照这里发布的教程获得了一个基础应用程序来使用Spring Data JPA。 现在,我如何理解,使用配置 应该导致Spring Data JPA扫描的包用于扩展JpaRepository接口并创建它的JpaRepository bean,因此可以使用简单的Spring @Autowired在我的服务类中的任何地方使用它。 但它失败了,说它无法找到一个带有className的bean(这是bean在创建时获得的默认名称,只需使用去大写的ClassName)。 但是,当我在我的applicationContext中配置bean manualy时,如下所示: Spring能够找到豆子。 我当然得到一个错误,因为我想从一个接口创建一个bean,这显然是行不通的。 但问题是,看起来Spring Data JPA“自动bean创建”似乎以某种方式失败了。 我附上相关代码,以便您查看。 顺便说一句,我应该提一下,我正在开发一个portlet,所以不要奇怪为什么我没有spring-config。 我目前只使用applicationConfig和一个MyPortlet-Portlet.xml进行portlet配置(但这不应该与此问题相关)。 我添加了import语句只是为了确保我没有使用错误的注释/类。 applicationContext.xml中 // JPA specific configuration here: dataSource, persistenceUnitManager exceptionTranslator, entityManagerFactory, SessionFactory, transactionManager – should not be relevant for this problem, tell me if i’m wrong ICustomerService – 只是CustomerService的一个接口 import model.entities.Customer; public interface ICustomerService { […]

处理QueryDSL中的可选参数

我在SpringData中使用QueryDSL。 我有Table说, Employee和我创建了实体类说, EmployeeEntity我写了以下服务方法 public EmployeeEntity getEmployees(String firstName, String lastName) { QEmployeeEntity employee = QEmployeeEntity.employeeEntity; BooleanExpression query = null; if(firstName != null) { query = employee.firstName.eq(firstName); } if(lastName != null) { query = query.and(employee.lastName.eq(lastName)); // NPException if firstName is null as query will be NULL } return empployeeDAO.findAll(query); } 如上所述,我评论了NPException 。 如何使用Spring数据在QueryDSL中使用QueryDSL作为可选参数? 谢谢 :)

在Spring Data Query中过滤子对象

我有以下域模型: Playlist – > List – > Video @Entity class Playlist{ // id, name, etc List playlistItems; // getters and setters } @Entity class PlaylistItem{ // id, name, etc. Video video; // getters and setters } @Entity class Video{ // id, name, etc. boolean isDeleted; // getters and setters } 我的存储库: public interface PlaylistRepository extends […]

修改Spring Data REST投影背后生成的SQL查询

编辑:如何只在SELECT中保留所需的列以进行Spring Data Rest Projections? Spring Data Rest Projections适用于为生成的链接获取列的子集,但在后面生成的Query仍然包含其中的所有列。 如何创建预测,其中SQL查询只有SELECT中的那些列在Projection中

Spring数据mongo在Query中使用OR

我们来看看有人可以帮忙解决这个问题。 我想使用Spring Data mongodb的Repository,我希望使用Query annotation按值A=10 or A=20过滤find @Query(“{A: 10, A:20}”) findById(int id); 勉强“,”尝试制作一个AND,我需要一个OR。 有什么想法吗?