问题标签 [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.
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 吗?
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
可以通过了。
如何设置schema
表Book
?
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?
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 我的测试正在运行......???
这和新的摩尔版本有什么问题吗?
spring - 如何在spring数据jdbc中设置聚合/实体的数据库模式
我是新手spring-data-jdbc
,只是想移植一个目前使用 JPA 的小项目,用于评估目的。
我现有的实体使用数据库模式,可以通过@Table
实体级别的 JPA 注释轻松定义。
我看到,@Table
存在一个注释spring-data-jpa
,但不能指定模式。
到目前为止,我发现的唯一方法是覆盖以下命名策略JdbcConfiguration
:
我更喜欢一种方法,在实体中直接指定模式,以便能够对不同的模式使用相同的配置。
有没有其他方法可以分别为每个聚合指定数据库模式?
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-jpa 混合使用
LOG: 执行准备好的 SQL 语句 [INSERT INTO organization (name, readOnlyProperty) VALUES (?, ?)]
执行准备好的 SQL 语句 [INSERT INTO employee (name, organization) VALUES (?, ?)]
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 特定代码。
java - Spring Data Jdbc:嵌套一对多关系实现上的名称不能为空错误
我正在使用Spring Boot 2.2.0.RELEASE
和spring-data-jdbc 1.1.0.RELEASE
尝试使用 spring-data-jdbc 实现嵌套的一对多关系。
一本书有很多章节,每一章都有很多部分。
如果没有 Part,findAll 将返回所有带有章节的 Books。使用 Part,我收到了这个运行时错误:
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 界面
错误日志:
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!