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

java - Spring Data JDBC:复合域类型的转换

在听了 Jens Schauder 的关于 Spring Data JDBC 和 Doamin-Driven Design 的精彩演讲之后(作为 AFOL,我喜欢你的例子;-)我做了一些实验,但很快就被我的域类型卡住了。当然,我需要编写自定义 JDBC 转换器,例如将 TelephoneNumber 映射到 String 并返回,但是我如何处理更复杂的类型,例如以 LocalDate 作为开始日期、以 LocalDate 作为结束日期的句点。或带有街道、门牌号、邮政编码、城市的地址...

我无法为这些类型添加注释,因为它们可能具有不同的含义,具体取决于它们的用途,例如发票地址与送货地址。

使用 JPA/Hibernate 可以使用@Columns@AttributeOverrides实现复合 hibernate 用户类型,但在 Spring Data JDBC 中只能找到简单的转换器。

我错过了什么,或者这不是(还)可能使用 Spring Data JDBC 吗?

0 投票
1 回答
618 浏览

spring-boot - Spring-data-jdbc - 如何在多对多关系中设置模式

我在这里关注 spring.io 博客:https://spring.io/blog/2018/09/24/spring-data-jdbc-references-and-aggregates并在此处有一个带有 Book 和 Author 实体的示例 SpringBoot 应用程序:https ://github.com/b-sridhar/spring-data-jdbc-example 。

我收到以下错误:No value supplied for the SQL parameter 'demobook': No value registered for key 'demobook'

在调试时注意到执行的 SQL 查询是:INSERT INTO demo.book_author (author, demo.book) VALUES (:author, :demobook)which should have been INSERT INTO demo.book_author (author, book) VALUES (:author, :book). 发生这种情况是因为我有@Table("demo.book")作为Book实体的注释。如果我删除demo表名中的模式,那么测试就BookAndAuthorsTests可以通过了。

如何设置schemaBook

0 投票
1 回答
440 浏览

spring-data-jdbc - Spring Data JDBC中的ORM在映射实体时是否支持JOIN?

我正在使用 Spring Data JDBC (1.0.10.RELEASE) 实现一对多关系,即一个客户可以有多个订单。执行 JOIN 查询时,我可以在 DEBUG 中看到,在执行 JOIN 查询后,每个 Order 按其ID执行附加查询,以获取看起来完全多余的订单数据。

结果,在返回客户列表时,我得到x结果,其中x订单数。所以我得到了x 个客户对象,这些对象似乎映射得很好(与订单的一对多关系也被正确映射),但是每个订单都会重复它们。

这是数据库架构:

在 Customer 类中映射外键时,我使用:

询问:

我的问题是,Spring Data JDBC 是否完全支持 JOIN?

0 投票
1 回答
766 浏览

spring-boot - Spring Boot 和 Spring Data Moore 发布

我面临一些关于 Spring Boot with Spring Data (JDBC) 的奇怪版本问题。
摘自我的pom:

当我在上面使用这种组合时,我的测试按预期运行。

然后,当我想更新到 spring 数据团队的当前版本时,
<spring-data-releasetrain.version>Moore-RELEASE</spring-data-releasetrain.version>我什至不能再运行我的测试了:

我错过了什么吗?

编辑:
如果我评论 Spring DATA JDBC 的手动 DataSourceConfiguration 我的测试正在运行......???
这和新的摩尔版本有什么问题吗?

0 投票
1 回答
256 浏览

spring - 如何在spring数据jdbc中设置聚合/实体的数据库模式

我是新手spring-data-jdbc,只是想移植一个目前使用 JPA 的小项目,用于评估目的。

我现有的实体使用数据库模式,可以通过@Table实体级别的 JPA 注释轻松定义。
我看到,@Table存在一个注释spring-data-jpa,但不能指定模式。

到目前为止,我发现的唯一方法是覆盖以下命名策略JdbcConfiguration

我更喜欢一种方法,在实体中直接指定模式,以便能够对不同的模式使用相同的配置。

有没有其他方法可以分别为每个聚合指定数据库模式?

0 投票
2 回答
1608 浏览

java - spring-data-jdbc 只读

我正在尝试使某些字段只读->插入更新又名save()不应将该字段发送到数据库,但该字段应填充select

来自 org.springframework.data.annotation.ReadOnlyProperty 的@ReadOnlyProperty不能解决问题。

版本: spring-boot:2.2.0.RC1,spring-data-jdbc:1.1.0.RELEASE,spring-data-commons:2.2.0.RELEASE

数据库: MSSQL

spring-data-jdbc 只读

它应该工作吗?还有其他方法吗?

注意:请不要将 spring-data-jdbc 与 spring-data-jpa 混合使用

LOG: 执行准备好的 SQL 语句 [INSERT INTO organization (name, readOnlyProperty) VALUES (?, ?)]

执行准备好的 SQL 语句 [INSERT INTO employee (name, organization) VALUES (?, ?)]

0 投票
1 回答
322 浏览

java - 开启 data-jpa dep 时注入存储库的问题

我注意到,一旦我取消注释 JPA dep,请参见下文:

我在开始时遇到错误:

实际上,我在启动时为所有存储库都收到了此错误,随机它只是在第一次失败时无法启动并停止。即没有风险,我实际上在存储库中做了一些重复。

我使用: id 'org.springframework.boot' version '2.2.0.RELEASE'版本

我做gradlew clean build了这个项目,以确保我没有任何剩余。

我的存储库类是:

我的模型在哪里

如果我继续spring-boot-starter-data-jpa发表评论,所有的作品。

想知道,如果有错误或者我仍然错过了设置某些东西

我得到了我的

与所有存储库都位于同一个包中。

毕竟,如果我不包括 jpa,它就可以工作。我的代码中还没有任何 JPA 特定代码。

0 投票
1 回答
281 浏览

java - Spring Data Jdbc:嵌套一对多关系实现上的名称不能为空错误

我正在使用Spring Boot 2.2.0.RELEASEspring-data-jdbc 1.1.0.RELEASE

尝试使用 spring-data-jdbc 实现嵌套的一对多关系。

一本书有很多章节,每一章都有很多部分。

如果没有 Part,findAll 将返回所有带有章节的 Books。使用 Part,我收到了这个运行时错误:

0 投票
3 回答
5514 浏览

spring-boot - 我收到错误 构造函数的参数 0 需要一个 bean,但找到了 2 个,但其中一个“找到”的 bean 已被我删除

我尝试使用 jpa/jdbc 设置 h2 数据库,在使用 jpa 而不是 jdbc 创建查询接口的实现之后,我现在收到错误:

com.nsa.charitystarter.service.CharityQueries 中构造函数的参数 0 需要单个 bean,但找到了 2 个:-charityRepoJDBC:在文件 [C:\Users\V La Roche\Desktop\assessment-1-starter\out\ 中定义production\classes\com\nsa\charitystarter\data\CharityRepoJDBC.class] -charityRepoJPA:在 null 中定义

我不确定出了什么问题,也不确定从哪里开始,我无法在网上找到很多与我有类似问题的人。

我使用 jdbc 的实现

慈善查找器实施:

CharityFinder 界面

错误日志:

0 投票
1 回答
967 浏览

java - 地图spring数据jdbc中的单列映射

我正在尝试使用 Data JDBC 映射具有 Map 字段的 Resource 类。这是简化的实体:

我不想要一个单独的道具表,只是一个字符串类型的列,或者可能是 postgres 的 jsonb。

我确实为这样的地图类型注册了转换器:

插入工作正常,但findAll对存储库的查询抛出org.springframework.data.mapping.MappingException: Couldn't find PersistentEntity for type class java.lang.String!