问题标签 [spring-data-commons]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1628 浏览

spring - Spring Data - PageRequest 单页索引

我正在尝试为从 1 而不是 0 开始的页码配置 Pageable 和 PageRequest。使用以下代码 Pageable 配置成功:

现在,如果我使用以下方法调用端点:

/myEndpoint?page=1&size=2

我得到第一页的记录,这意味着基于 1 的页面大小正在工作。但是,响应具有以下与分页相关的信息:

如果您注意到“数字”是 0,这意味着它仍然是基于 0 的。如何将其配置为从 1 开始?

提前致谢。

我正在使用:SpringBoot:2.0.0,spring-data-commons:2.0.5

0 投票
0 回答
678 浏览

java - Error while using ExampleMatcher with @embeded entity in spring data jpa

I have an entity with @embeded object in spring data jpa,

While querying example matcher I am getting bellow error:

java.lang.IllegalArgumentException: Unexpected path type for address.mylocation.country. Found org.hibernate.query.criteria.internal.path.SingularAttributePath@2d0c22c6 where From.class was expected. at org.springframework.data.jpa.convert.QueryByExamplePredicateBuilder.getPredicates(QueryByExamplePredicateBuilder.java:142) ~[spring-data-jpa-2.0.5.RELEASE.jar:2.0.5.RELEASE]

My Source code is available here : https://github.com/harsh-hardaha/springboot-h2-example

Product.java

Address.java

Location.java

Country.java

ProductServiceImpl

ProductRepository.java

0 投票
1 回答
204 浏览

spring-boot - 将 spring-data-commons 从 1.12.10.RELEASE 升级到 1.13.12.RELEASE 抛出错误

0 投票
1 回答
334 浏览

domain-events - 使用Spring Data Common时,是否可以在聚合根的构造函数中注册域事件

聚合将由 some 创建application service,而不是由另一个聚合。

像这样

期望在应用程序服务结束时aggregate保存并SomeAggregateCreated发布一个事件。我测试过,并不总是有效,有时构造函数执行后没有立即注册事件。

这是教师课:

这是TeacherAdded

这是AbstractDomainEventDomainEvent

AbstractAggregateRoot复制自,org.springframework.data.domain.AbstractAggregateRoot<A>hasCapturedEvent添加方法进行测试。

如果我运行这个:

它有时会失败,有时会成功。

0 投票
0 回答
1313 浏览

java - Spring Common Data 2.1.2 MongoDB 无法反序列化可选值

Spring Common Data 2.1.2(和 Data MongoDB 2.1.2)无法反序列化我班级中的 Optional 字段。它适用于以前的版本(2.0.8),现在我的对象保存在数据库中(使用 MongoRepository.save),但是当我尝试读取它时出现异常(MongoRepository.findById)。我已经缩小了一个确切的领域,问题在于存储可选:

和我的班级:

公共类坐标{私人双纬度;私人双经度;私人可选高度;}

当 DB 中的数据采用以下形式时会出现异常:

当高度没有“值”时没有错误

(没有价值)

它适用于以前的 Spring Boot 版本(和 Spring Data Commons/Mongodb 2.0.8)。

我找不到有关更改的行为/对 Optionals 等的不同处理的任何信息。

如何解决?

我应该保持它

与吸气剂:

或任何其他方式?

0 投票
4 回答
1370 浏览

spring-boot - Spring boot 2.1 + Ignite 存储库 2.7.0 - 使用 @Query 或查询方法时 Spring 数据公共问题的解决方法

嗨,我正在使用 Spring Boot 2.1.2 和 Ignite 2.7.0

我有带有查询方法的 CRUD Ignite 存储库

错误 :

引起:java.lang.IllegalStateException:您在存储库中定义了查询方法,但您没有定义任何查询查找策略。基础设施显然不支持查询方法!

我知道这是由于 spring data commons 从 2.0.X 更改为 2.1.X 但找不到 ignite 的解决方案

Ignite 2.7 仍然有旧的方法定义

这不符合新的 Spring Data Commons 定义

我尝试包含多个版本的公地,但不断收到其他错误。

如果我使用像 findAll() 这样的预加载方法,它工作正常!!

我们有任何可以帮助我的 spring-data-commons 版本吗:(

主弹簧应用:

我的依赖:

0 投票
3 回答
5376 浏览

spring-boot - PageImpl 反序列化期间出错:无法构造 `org.springframework.data.domain.PageImpl` 的实例

问题是使用带有 redis 缓存管理器的 Spring 缓存时,由于没有默认构造函数,无法反序列化 Spring Pageable 响应

使用的spring boot版本是2.1.4.RELEASE

使用序列化程序的 Redis 配置类

我正在尝试使用 Spring 缓存和 Redis 作为缓存后端在 Redis 缓存中缓存 Spring REST API 页面结果响应

我可以看到页面使用 RedisSerializer.json() 序列化程序在 Redis 缓存中缓存为 JSON,但是在下一次调用从缓存中读取数据时,我收到以下异常

我尝试为 PageImpl 提供自定义序列化程序,然后我得到了 PageRequest 实现和 Sort 实现的异常,所有 Spring 'org.springframework.data.domain' 包的部分

必须有更好的方法来解决这个问题,我想知道在 spring 缓存中解决此类问题的最佳方法

这是迁移到 SPRING BOOT v2 后的 Jackson 错误吗?

0 投票
1 回答
603 浏览

spring-data - spring-data-geode 的 spring-boot-starter-data-jpa 兼容版本是什么?

有人可以帮我在 Spring Boot 版本中找到兼容的spring-boot-starter-data-jpafor版本吗?spring-data-geode2.1.4.RELEASE

这适用于运行嵌入式缓存服务器的应用程序,该应用程序具有使用 HikariCP 连接到 Oracle RDBMS 的后写实现。

我尝试使用从低到低的spring-boot-starter-data-jpa版本运行我的应用程序,但没有成功。我也尝试过低至for 的版本。2.1.4.RELEASE2.0.8.RELEASE2.1.4.RELEASE2.0.8.RELEASEspring-data-commons

异常堆栈跟踪:

0 投票
0 回答
219 浏览

java - spring-jpa - 使用 ExampleMatcher 为 QueryByExampleExecutor 创建类似于 in 子句的嵌套实体 id 的查询

我正在尝试使用 Spring ExampleMatcher 创建一个需要使用 in 子句和 between 子句的查询。

我需要创建一个匹配 AbcexternalName 上的 in 子句、Adid 上的 equal 子句和 Absequence 字段上的运算符之间的查询。

是否可以使用满足上述场景的 ExampleMatcher 创建查询。

示例 HQL:SELECT a FROM A a WHERE a.d.id = :subscriberId AND a.b.c.externalName IN :externalNames and a.b.sequence between (:startSequence, :endSequence)

请帮忙 !

0 投票
0 回答
494 浏览

java - spring-ldap-2.x.xsd中导入的spring-repository.xsd在spring-data-commons-2.1.10.RELEASE.jar的spring.schemas中找不到

spring-ldap-2.2.xsd

spring-data-commons-2.1.10.RELEASE.jar 中的 spring.schemas

特殊情况

如下加载appContext-ldap.xml时抛出异常,附加条件:网络不可达。

在 com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) 在 com.intellij.rt.execution 的 org.junit.runner.JUnitCore.run(JUnitCore.java:137) 运行(SpringJUnit4ClassRunner.java:191) .junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main (JUnitStarter.java:70) 原因:org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自类路径资源 [appContext-ldap-new.xml] 的 XML 文档中的第 673 行无效;嵌套异常是 org.xml.sax.SAXParseException;系统标识:startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java: 242)在 com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) 引起:org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自类路径资源的 XML 文档中的第 673 行 [appContext- ldap-new.xml] 无效;嵌套异常是 org.xml.sax.SAXParseException;系统标识:startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java: 242)在 com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) 引起:org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自类路径资源的 XML 文档中的第 673 行 [appContext- ldap-new.xml] 无效;嵌套异常是 org.xml.sax.SAXParseException;系统标识:JUnitStarter.main(JUnitStarter.java:70) 原因:org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自类路径资源 [appContext-ldap-new.xml] 的 XML 文档中的第 673 行无效;嵌套异常是 org.xml.sax.SAXParseException;系统标识:JUnitStarter.main(JUnitStarter.java:70) 原因:org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自类路径资源 [appContext-ldap-new.xml] 的 XML 文档中的第 673 行无效;嵌套异常是 org.xml.sax.SAXParseException;系统标识:http://www.springframework.org/schema/ldap/spring-ldap.xsd; 行号:673;列号:62;src-resolve: 无法将名称 'repository:repositories' 解析为 'type definition' 组件。 at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399) at org.springframework.beans.factory xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader. java:181) 在 org.springframework.beans.factory.support.AbstractBeanDefinitionReader.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217) 在 org.springframework.beans.factory.support.AbstractBeanDefinitionReader。loadContext(AbstractDelegatingSmartContextLoader.java:251) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116) ... 24 更多原因:org.xml.sax.SAXParseException; 系统标识:http://www.springframework.org/schema/ldap/spring-ldap.xsd; 行号:673;列号:62;src-resolve: 无法将名称 'repository:repositories' 解析为 'type definition' 组件。 at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) at com.sun org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) 在 com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396) 在 com.sun。 org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4154) 在 com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java :4137) 在 com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1684) 在 com.sun.org.apache.xerces.internal.impl.xs.traversers .

我认为 Mybe 是 spring-ldap 的错误:

  • spring-ldap-2.2.xsd 中定义的 spring-repository.xsd schemaLocation 为http://www.springframework.org/schema/data/repository/spring-repository.xsd,但 schemaLocation 定义为https://www.springframework.org/schema/data/repository/spring-repository.xsdspring-data-commons-2.1.10.RELEASE.jar 的 spring.schemas 中。

  • 一个是http,另一个是https,不相同。

因此,当网络无法访问时,无法从本地找到 spring-repository.xsd。

github问题链接:https ://github.com/spring-projects/spring-ldap/issues/539