问题标签 [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.
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 测试:
java - @CreatedDate 注释字段没有写在 Insert 上,@LastModifiedDate 是
我创建了以下实体并使用 h2 对其进行了测试:
是TopicRepository
一个空接口。
以下测试失败,错误createdAt
为 null:
@SpringBootApplication
我的应用程序用和注释@EnableJdbcAuditing
。
另一方面,为什么createdAt
仍然不为空?null
lastModified
编辑
我将Topic.createdAt
和的类型更改Topic.lastModified
为Instant
,但没有用。
另外,我添加了以下方法,我猜它应该为Instant
字段提供值:
可悲的是,虽然该方法被调用,createdAt
但仍然是null
.
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 列,因为它是主键?
实体:
存储库:
spring - 使用JdbcTemplate时必须使用spring-data-jdbc吗?
我打算使用 SpringJdbcTemplate
来访问我的数据库。使用时必须使用spring-data-jdbcJdbcTemplate
吗?我问的原因是我的应用程序中的表不需要“实体”(POJO)。如果我使用 spring-data-jdbc 会增加一些开销吗?
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
?
spring-data-jdbc - spring-data-jdbc 是否考虑提供 JPA ID 生成器之类的注释?
spring-data-jdbc 是否考虑提供 JPA ID 生成器之类的注释?目前使用事件的方式需要定义太多,或者需要继承基类来实现。还是当前版本已经提供了类似的功能,但是我没有找到??
spring-data-jdbc - spring data jdbc使用@query注释,如何匹配实体注册的参数
我想通过订单实体获取订单的参数然后更新。
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
java - spring-data-jdbc 错误找不到类所需的标识符属性
从数据库加载数据时出现以下错误
下面是实体类AuthorRef
上述错误的原因可能是什么?
源代码可在https://github.com/sudhirtumati/spring-data-jdbc-sample
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
,我怀疑这是导致问题的原因。