问题标签 [spring-data-jdbc]

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 回答
284 浏览

java - 在 Oracle 数据库上持久化具有非自增 id 的实体时引发 DataRetrievalFailureException

BeforeSaveEvent我将 Spring Data JDBC 与 Oracle 数据库一起使用,并使用处理器在我的实体上设置了自定义 ID 。

当我尝试保留此实体时,会引发以下异常。

如何配置生成的密钥列以避免此异常,或者如何配置不需要生成的密钥?

0 投票
3 回答
8317 浏览

java - 如何在 Spring Data JDBC 中编写自定义 @Query?

在 Spring Data JDBC 示例中,如何在@Query注解中编写简单查询?

例如在LegoSet Repository中,我如何添加一个简单的findByName查询?

当我尝试

@Query("select * from lego_set where name = :name") List<LegoSet> findByName(@Param("name") String name); 它引发以下错误:

此外,参考文档似乎是从一些通用的 spring 数据文档中复制的,因为它提到了 spring data jdbc 中尚不存在的派生查询。

0 投票
3 回答
9577 浏览

java - 如何在 Spring Data JDBC 中将实体映射到表?

@Table在 Spring Data JPA 中,我们可以通过使用注释将实体映射到特定表,我们可以在其中指定模式和名称。

但是 Spring Data JDBC 使用 aNamingStrategy通过转换实体类名来将实体映射到表名。例如,如果我们命名了实体类,MetricValue那么表应该以metricvalue默认模式命名。但我需要映射MetricValue到模式中的metric_valueapp

有没有办法通过注释或任何其他方法来覆盖这个映射?

0 投票
1 回答
2576 浏览

java - 与 spring 数据 jdbc 一起使用时,PagingAndSortingRepository 方法会引发错误

CrudRepository_ findAll_ 我正在使用Lovelace-SR2发布火车。该类只有一个字段,即@Id. 根据文档,支持分页和排序。https://docs.spring.io/spring-data/jdbc/docs/1.0.2.RELEASE/reference/html/#repositories

0 投票
1 回答
3612 浏览

java - Spring Data JDBC 是否支持自定义类型转换器

我有一个实体,它有一个类型的文件java.util.Date(或者Timestamp,与案例无关)。

数据库是Oracle,对应的列是类型TIMESTAMP(6) WITH TIME ZONE

当我调用存储库的任何默认值findByIdfindAll方法时,我得到: ConverterNotFoundException: No converter found capable of converting from type [oracle.sql.TIMESTAMPTZ] to type [java.util.Date].

RowMapper我可以为该类型创建一个自定义,它会正常工作。我只是想知道是否可以注册一个自定义转换器(在我的情况下 from oracle.sql.TIMESTAMPTZto java.util.Date),因此仍然可以从默认映射中受益并在整个应用程序中使用转换器。

0 投票
1 回答
349 浏览

java - 是否应允许 spring-data-jdbc EntityRowMapper 跳过不在源映射中的属性?

我们正在考虑将 Spring Data JDBC 引入我们现有的项目,以最小化样板代码 - 但我们遇到了一个障碍:我们有 bean-classes 捕获表中的所有列,但我们使用的查询不检索所有列,因为在某些情况下,某些值恰好不需要。当源映射缺少 bean 中存在的属性时, Spring Data JDBC 的默认值EntityRowMapper会引发异常。

期望这个默认值EntityRowMapper应该能够忽略这些属性是否合理?(表示在创建结果对象时可以跳过它们,或者有一个注释允许程序员指定在源映射中丢失时使用的默认值)

0 投票
1 回答
941 浏览

spring-data-jdbc - 使用 Spring Data JDBC 的嵌套数据结构

我想创建一个嵌套的数据结构。

Entity1包含Entity2存储在 Map 中的类型的对象。Entity2应包含 的对象映射Entity3

第一部分,Entity1工作Entity正常。当我添加Entity3时,会发生异常。

当我执行一个简单的测试时,发生了以下异常:

java.lang.IllegalArgumentException:org.springframework.data.util.Pair 类型的目标 bean 不是持久实体(org.hameister.filmwatcher.nested.Entity2)的类型!:org.springframework.data.util.Pair

Entity2

Entity3

当我添加另一个Entity3应该存储在Entity2地图中的类时,这不起作用。当我执行一个简单的测试时,发生了以下异常:

java.lang.IllegalArgumentException:org.springframework.data.util.Pair 类型的目标 bean 不是持久实体(org.hameister.filmwatcher.nested.Entity2)的类型!:org.springframework.data.util.Pair

要重现异常,只需删除类中的双斜杠Entity2。和测试中的双斜线NestedTest

这是测试:

完整的源代码可以在这里找到。

0 投票
1 回答
4169 浏览

java - 使用 Spring Data JDBC 在 Postgresql 中映射 Java 枚举

我希望能够将在 java 中声明的枚举映射到在 postgres 中创建的枚举。例如具有以下内容:

在java中我有这样的东西:

当我尝试像这样将某些内容保存到数据库时:

sql日志似乎很好:

但在实际的数据库字段中,我得到一个异常文本:

如果我在 postgres 列定义中将 EYE_COLOR 类型替换为 NVARCHAR2(128) 一切正常。插入了一个实际的“BROWN”值。

任何想法应该如何实施?

LE:忘记添加我的 spring 数据库驱动程序:

我也尝试使用 ENUM 定义,就像他们在列定义中直接在 H2 驱动程序规范中所说的那样,但仍然没有工作:

0 投票
2 回答
2111 浏览

spring - Spring Data Jdbc - 将内部类映射到表列

使用Spring Data JDBC我希望将内部变量“inner”映射到外部表中的 varchar 列,而不是映射到自己的表。这可能吗?


这是我的上下文配置:

0 投票
1 回答
1779 浏览

spring-data - 如何调整 Spring Data JDBC 的 NamingStrategy

我如何调整 Spring Data JDBCNamingStrategy使其表现得像 Hibernate的PhysicalNamingStrategy
我有以下实体:

当我希望 JDBC 保留测试记录时,它会生成以下 sql:
[INSERT INTO campus (campus_name) VALUES (?)]

我现有的数据库有一个名为campusname

我在这里阅读了文档https://docs.spring.io/spring-data/jdbc/docs/1.0.2.RELEASE/reference/html/#jdbc.entity-persistence.naming-strategy我可以调整命名策略,但我不知道如何:)

感谢您的帮助!亲切的问候!托马斯

解决方案: