问题标签 [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 投票
1 回答
563 浏览

kotlin - 实现两个id接口时如何解决冲突?

一个接口是'org.springframework.data.domain.Persistable',它是一个Java接口,ID getId()在3rd-party lib中有一个方法。

另一个接口是 Kotlin 接口interface IdEntry { val id: String}

现在我的业务入口需要实现这两个接口:

我使用 IntelliJ IDE 进行编码,错误是:

我怎样才能解决这个问题?

我也试过下面的代码:(来自这里的想法)

但这也失败了:

0 投票
0 回答
116 浏览

java - 多个 entityMangagerFactories(使用 1PC 模式)导致 java.lang.IllegalStateException: 'url' not set 异常

我有使用 Java 11 的 Spring Maven 项目。Jboss WIldfly 15.0.1 Final 是我的部署服务器。

要将数据(使用 Hibernate 的对象)从一个数据源导入到另一个数据源(MySQL)- 我添加了一个主要entityManagerFactory的,JpaTransactionManager并且我有 2 个单独的实体管理器工厂perisistenceUnits和一个chainedTransactionManager正在使用的(用于 1 Phase commit-1PC commnit)。

在部署战争时,有时,我得到以下异常:

someDAO 类头是:

该类someDAO扩展了使用ParentDAOImpl主类的类,entityManagerFactory也使用@DependsOn. 那么,为什么 on deploy 的创建someDAO是在尝试触发创建的entityMgrFactory2时候entityManagerFactory提到的呢?!

该问题永远不会在我的本地计算机上复制。它仅在部署在其他服务器上时才会发生,并且因此部署失败。而且有时会提到例外情况,有时会有所someDAO不同。DAOclassParentDAOImpl

请帮助我,我是新手。

0 投票
2 回答
1737 浏览

java - CrudRepository.save 是否为 spring 数据 1.13.18.RELEASE 返回 null

我知道对于它的当前版本(2.x.x),spring-data-commons保证返回值CrudRepository.save()永远不会为空。但是,旧版本,特别是1.13.18.RELEASE呢?

如果旧版本确实保证返回非空值,那么它会使下面的代码无用,对吧?

而如果旧版本不保证返回非空值,那么什么情况下会导致返回空值呢?

更新CrudRepository:由于我的问题1.11.18.RELEASEspring-data-jpa. 我想知道这个版本的保存功能的行为。

0 投票
0 回答
84 浏览

spring-boot - 将 spring-data-commons 与 spring-boot-2.1.x 一起使用时的包问题

我正在将 Spring Boot 从 1.5.12 迁移到 2.1.14。我们使用 Gradle 作为构建工具,因此作为 Spring Boot 迁移的一部分,我们必须将 Gradle 从 3.x 更改为 4.x,并尝试根据需要更新 build.gradle。迁移后,CRUDRepository 相关 API 中会显示错误。

我们正在使用 spring-boot-starter-data-jpa 和 spring-data-commons

迁移前:

  1. spring-boot-starter-data-jpa - 1.5.12(从 Spring Boot 版本获取)
  2. spring-data-commons (1.13.12.RELEASE)

显示 org.springframework.data.repository 包没有错误

迁移后:

  1. spring-boot-starter-data-jpa - 2.1.14(从 Spring Boot 版本获取)
  2. spring-data-commons (2.0.7.RELEASE)

错误:org.springframework.data.repository。未解决

如果我将 spring-data-common-1.13.12.RELEASE 与 spring-boot-2.x 一起使用,则会出现以下错误。

原因:找不到 org.springframework.data.repository.config.BootstrapMode 的类文件

有人可以提出一些建议来解决这个问题。

提前致谢

0 投票
1 回答
40 浏览

spring - 在 JAVA 中升级库(spring)的问题

我的项目包含很多库,我想更新以下内容:

spring 从 5.0.10.RELASE 到 5.3.18 或更高版本 spring-content spring-core spring-beans spring-aop spring-context-support spring-orm spring-jdb spring-web spring-webmvc spring-tx


spring-data-jpa 从 2.3.2 或更高版本 spring-data-commons 从 2.3.2 或更高版本

但是当我更改版本时,我的项目在开始时有很多错误。我如何检查这些版本库是否与其他版本兼容(hibernate、log4j 等)

0 投票
1 回答
284 浏览

spring-data - Spring QuerydslPredicate 对蛇案例的命名约定

我正在使用来自 QueryDsl 的谓词。后端内部使用camelCase,但承诺在与客户端通信时使用snake_case。

我想snake_case用作查询参数,例如

如果我protocol_type作为snake_case 传递,Query Dsl Predicate 不会解析它。它仅将类型(目标实体类)的字段解析为 camelCase。所以protocol_type被 getPredicate() of 跳过QuerydslPredicateBuilder

但它适用于cameCase.

如何将 Predicate 的命名约定设置为snake_case


控制器

实体

配置


杰克逊命名策略 和我一样的问题。

https://stackoverflow.com/questions/53273966/spring-jpa-querydslpredicate-snake-case

我也设置spring.jackson.property-naming-strategy=SNAKE_CASE

0 投票
0 回答
126 浏览

spring-boot - spring data couchbase 不会抛出 OptimisticLockingFailureException

我正在尝试将我的应用程序从 spring boot 2.2.6 迁移到 2.3.6。此更新还将 spring-data-couchbase 3.2.6 更新为 4.0.2。早期版本会抛出 OptimisticLockingFailureException,但这次升级不会抛出异常。我正在使用调试器在持久化之前停止执行,然后在 couchbase UI 中手动更改数据并继续执行。spring-data-couchbase 3.2.6 中抛出异常,但 4.0.2 中没有

弹簧数据沙发底座 3.2.6

CouchbaseConfiguration.java

PersistenceSnippet.java

弹簧数据沙发底座 4.0.2

CouchbaseConfiguration.java

是不是因为template.setWriteResultChecking(WriteResultChecking.EXCEPTION);的不同?? 但是 4.0.2 中的 couchbase 模板没有任何这样的方法。我在 4.0.2 中是否缺少任何能够抛出 OptimisicLockingFailureExpception 的配置?我的实体对象有@Version long version;@Document注释

0 投票
0 回答
138 浏览

spring-data - Spring Boot 2.1.x Spring Framework 5.1.x 您已经在存储库中定义了查询方法,但您没有定义任何查询查找策略

在将项目 spring boot 从 2.0.5.RELEASE 升级到 2.1.18.RELEASE 并将 spring 框架从 5.0.9.RELEASE 升级到 5.1.20.RELEASE 之后,应用程序在启动运行时得到了UnsatisfiedDependencyException :

“调用 init 方法失败;嵌套异常是 java.lang.IllegalStateException:您在存储库中定义了查询方法,但没有定义任何查询查找策略。基础设施显然不支持查询方法!”

这个项目使用 redis 作为持久性与 spring-data-redis 和 spring-data-jpa 与 SQL Server。Redis仓库实现了查询方法:

构建.gradle

仅当存储库具有查询方法时才会发生此错误。如果我们使用默认的 CrudRepository 方法,就没有问题。

依赖项:

| +--- org.springframework.boot:spring-boot:2.0.6.RELEASE -> 2.1.18.RELEASE (*)

| +--- org.springframework.boot:spring-boot-starter-data-redis:2.0.4.RELEASE -> 2.1.18.RELEASE

| | +--- org.springframework.boot:spring-boot-starter:2.1.18.RELEASE (*)

| | +--- org.springframework.data:spring-data-redis:2.1.21.RELEASE

| | | +--- org.springframework.data:spring-data-keyvalue:2.1.21.RELEASE

| | | | +--- org.springframework.data:spring-data-commons:2.1.21.RELEASE (*)

| +--- org.springframework.data:spring-data-jpa:2.1.21.RELEASE

| | +--- org.springframework.data:spring-data-commons:2.1.21.RELEASE

| | | +--- org.springframework:spring-core:5.1.19.RELEASE (*)

| | | +--- org.springframework:spring-beans:5.1.19.RELEASE (*)

由于 Cloud Open Feing 依赖升级和兼容性,降级Spring Boot 和 Spring Framework 不是该项目的选项。

0 投票
0 回答
158 浏览

spring - 如何在 Spring JPA 的 CriteriaBuilder 中按字符串中的整数排序?

我的数据由可以是数字或字符串的字符串组成(“12”应该被视为一个数字,而“12REF”应该被视为一个字符串)。

我希望在我的 criteriaBuilder 中实现 order by,它首先按数字对字符串进行排序,然后将按字母顺序排序的字符串放在最后。

正确排序示例:<[[“1”、“2”、“10”、“A”、“AB”、“B”、“DUP”、“LNE”、“NUL”]]>

目前我的代码看起来像这样(只是按 asc 排序,使用 CriteriaQuery 的 orderBy)。

这导致:<[[“1”,“10”,“2”,“A”,“AB”,“B”,“DUP”,“LNE”,“NUL”]]>

如何在这里实现自定义排序?

编辑:数据存储在 MySQL 数据库中

0 投票
1 回答
75 浏览

java - 具有嵌套属性标准支持的 Spring Data TypedSort

我正在尝试定义以下排序标准:

但我得到一个编译异常:

是否可以定义嵌套属性类型的排序条件?

PS。我也向 Spring Data Commons 存储库提交了一个问题以澄清这一点:

https://github.com/spring-projects/spring-data-commons/issues/2380