问题标签 [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 回答
260 浏览

spring - Spring Data JDBC - OneToMany 关系的不可变所有者

我正在尝试 Spring Data JDBC,我认为不可变实体是这里的关键特性。

我想为团队和玩家之间的一对多关系建模,并使这些实体不可变。我现在的工作是:

我设法让 OneToMany 关系为可变类正常工作。我设法使它适用于不可变的 Player。@NoArgsConstructor但是,如果没有或@Value代替我现在拥有的东西,我无法让团队映射工作。当缺少此构造函数时,我收到奇怪的消息,好像 Spring Data JDBC 开始看到不同的映射:

Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "players_id" not found [42122-199]

如果有人尝试重新创建该场景,这是我的 h2 架构:

还有我的 Spock 测试:

0 投票
1 回答
2352 浏览

java - @CreatedDate 注释字段没有写在 Insert 上,@LastModifiedDate 是

我创建了以下实体并使用 h2 对其进行了测试:

TopicRepository一个空接口。

以下测试失败,错误createdAt为 null:

@SpringBootApplication我的应用程序用和注释@EnableJdbcAuditing

另一方面,为什么createdAt仍然不为空?nulllastModified

编辑

我将Topic.createdAt和的类型更改Topic.lastModifiedInstant,但没有用。

另外,我添加了以下方法,我猜它应该为Instant字段提供值:

可悲的是,虽然该方法被调用,createdAt但仍然是null.

0 投票
2 回答
1793 浏览

java - 使用存储库保存方法更新 ID 的 spring-data-jdbc 更新

为非新实体调用CrudRepository save()方法会创建以下 sql:UPDATE card SET id = ?, customer_id = ? ...在哪里 id = ?

这会引发异常无法更新标识列“id”

ID由数据库生成

使用版本:1.0.6.RELEASE & 1.0.9.RELEASE

数据库:mssql

为什么更新语句试图更新 ID 列,因为它是主键?

实体:

存储库:

0 投票
3 回答
254 浏览

spring - 使用JdbcTemplate时必须使用spring-data-jdbc吗?

我打算使用 SpringJdbcTemplate来访问我的数据库。使用时必须使用spring-data-jdbcJdbcTemplate吗?我问的原因是我的应用程序中的表不需要“实体”(POJO)。如果我使用 spring-data-jdbc 会增加一些开销吗?

0 投票
1 回答
1599 浏览

java - 使用 spring-data-jdbc 进行审计?

我已经看到上一个问题的回答了!,但它并没有解决我的问题。

跟踪spring-data-jdbc的代码,发现只要自定义了BeforeSaveEvent事件,并且在该事件中设置了自定义ID,自定义事件执行后,继续触发RelationalAuditingEventListener#onApplicationEvent在已设置为 ID 的实体。做出 isNew 决定,ieNew=false。

// IsNewAwareAuditingHandler#markAudited // 触发 markModified 方法。 entity.isNew(object) ? markCreated(object) : markModified(object);

聚合根和实体有什么区别?如何设计一个可以保存的实现@CreatedDate以及@CreatedBy何时使用第一次保存?@LastModifiedDate@LastModifyBy

0 投票
1 回答
78 浏览

spring-data-jdbc - spring-data-jdbc 是否考虑提供 JPA ID 生成器之类的注释?

spring-data-jdbc 是否考虑提供 JPA ID 生成器之类的注释?目前使用事件的方式需要定义太多,或者需要继承基类来实现。还是当前版本已经提供了类似的功能,但是我没有找到??

0 投票
1 回答
177 浏览

spring-data-jdbc - spring data jdbc使用@query注释,如何匹配实体注册的参数

我想通过订单实体获取订单的参数然后更新。

0 投票
1 回答
854 浏览

spring - 是否可以将 BYTEA 字段与 Spring Data JDBC(不是 JPA)一起使用

我正在尝试使用 Spring Data JDBC 读取具有 BYTEA 字段的 Postgresql 表中的一行,但它因Couldn't find PersistentEntity for type byte!MappingException 而失败。该方法失败org.springframework.data.jdbc.core.EntityRowMapper.populateProperties,它被解释byte[]isCollectionLike并且(我想)试图创建 SQL 以将其读取为 PostgreSQL 字节数组,而不是它的 blob。

有很多关于如何使用 JPA 或手动 JdbcTemplate 执行此操作的示例,但 Spring Data JDBC 的文档不那么丰富。我无法想象我是第一个遇到这个问题的人。

我的桌子:

测试实体.java

TestEntityRepository.java

我的应用程序.java

我的 pom.xml

0 投票
1 回答
1916 浏览

java - spring-data-jdbc 错误找不到类所需的标识符属性

从数据库加载数据时出现以下错误

下面是实体类AuthorRef

上述错误的原因可能是什么?

源代码可在https://github.com/sudhirtumati/spring-data-jdbc-sample

0 投票
1 回答
539 浏览

spring - 无法让自定义 NamingStrategy 工作

我的 Spring 应用程序必须从一个名为 MY_DOMAIN_OBJECT 的表中读取,该表属于 MY_CUSTOM_SCHEMA 模式,请注意默认模式中也存在同一个表。

我正在使用 spring-data-jdbc 但我无法从正确的模式中读取。我正在创建一个NamingStrategy带有一些方法覆盖但没有成功的自定义 bean,结果是我从默认模式中的表中获取结果。

知道我在这里做错了什么吗?

在相关类下面:

AppConfig.java

MyDomainObject.java

MyRepository.java

更新:我忘了提到我正在使用spring-boot-starter-data-jdbc,我怀疑这是导致问题的原因。