问题标签 [spring-boot-jpa]
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会抛出一个关于糟糕的sql代码的异常?
我在一个有弹簧启动服务器的应用程序中工作。问题是我有一个查询,而不是自动生成的,这给我抛出了一个糟糕的 sql 异常,我似乎无法找出原因。我也使用 MySQL 作为数据库,这是我的存储库代码:
带有@Query 注释的那个会抛出我:
谁能告诉我我做错了什么?我已经尝试过修改代码,但在我看来它只是没有
按要求记录(我认为是这个)
编辑:我可以说与可分页对象有关。我的意思是当有更多的对象可以放入页面时。默认情况下,我有 10 页,并且有 12 个对象,没有工作,当它们适合单个页面时(这里我将页面大小增加到 15)它可以工作。
编辑:项目和团队类
spring-boot - 用于在 Spring Boot JPA 中执行本机 SQL IN 子句查询的 SQLSyntaxErrorException
我正在使用 MySql 数据库。我喜欢在 'tbl_users' 上编写本机查询。我写了如下查询:
但是我的spring应用程序抛出了一个异常,比如
什么是正确的查询或者我该如何克服这个问题。请帮忙。
java - 为什么针对 Spanner 模拟器运行的 Spanner spring 演示无法创建池化数据库连接?
我无法让 Google 的spring-data-jpa-sample 项目在 Spanner 模拟器上运行。我在 MacOS Mojave 上使用预装的 JDK 11(AdoptOpenJDK build 11.0.3+7)。
我已经对我的 GCP 帐户进行了身份验证,并按照此处记录的方式完成了模拟器设置,按照说明启动模拟器,成功创建实例,并将SPANNER_EMULATOR_HOST
环境变量设置为localhost:9010
.
当 Spring 应用程序运行时,它会失败并出现以下错误:
在此之前有两个警告。HHH000342:无法获取到查询元数据的连接)和 SQL 错误:0,SQLState:null。
如果我更新 spring.datasource.url 以添加usePlainText=true
最后,我在这里看到了建议的解决方案,结果是一样的。
应用程序代码和配置与spring-data-jpa-sample 项目中显示的完全相同,这就是为什么我没有在此处发布它 - 除了spring.datasource.url
application.properties 中的值(见下文)。要复制此问题,请按照此处的模拟器设置说明 ,克隆存储库,设置项目、实例和数据库变量并运行代码示例。
这是application.properties
文件的内容:
spring-boot - @JmsListener 并持久化到数据库
我正在开发一项服务,在该服务中我侦听队列、反序列化收到的消息并将它们保存到数据库 (Oracle)。大致:
在默认消息侦听器 bean 中,我设置了并发和setSessionTransacted(true)
. 这足以使整个 onMessage 事务处理吗?以便在一个事务中接收并保存消息,并在任何这些点出现故障时回滚?当尝试保存特定消息时,我尝试在特定消息上抛出异常 - 消息确实回滚到队列中并且侦听器尝试再次使用它们,这是一种理想的行为。在研究这个的时候,我偶然发现了分布式事务,jta事务管理器,但是我仍然不确定除了setSessionTransacted(true)之外是否需要配置更多,或者Spring Boot是否自动处理XA资源的事务。寻求建议。谢谢你。
java - 通过搜索child / Spring boot JPA + PostgresSQL找到父元素
我试图弄清楚如何查找和返回与特定作者姓名关联的所有书籍。
我想归还 Garyy 为作者的所有书籍。
我正在使用 Spring Boot + Postgres SQL OneToMany 注释。
将不胜感激任何建议。
作者控制器:
图书控制器:
作者实体:
图书实体:
作者库:
书库:
java - SCD (slowly changed dimension) Type 4/6 - 如何在spring boot app, hibernate envers中实现
我正在尝试解决我应该如何为我的应用程序创建“日志”并将它们存储到数据库的问题。
假设我有这个数据库结构:
第一张表:
weatherstation_id | weatherstation_name | weatherstation_ip_address
第二张表:
sensor_id | sensor_name | sensor_number | weatherstation_id
第三张表:
measurement_id | value | measure_date | weatherstation_id | sensor_id
从这个我应该能够得到“日志”,所以测量值和气象站和传感器的信息!在测量的时间!,所以我需要以某种方式实现历史。
我试图解决这个问题超过两个星期,我发现我可能应该使用SCD类型 4 或 6 之类的东西。
我想到的一个选项是spring-data-envers应该处理历史,但在这里我不知道我应该如何将测量“链接”到修订。
第二种选择是自己编写并使用JPA Lifecycle Callbacks并在 WeatherStationHistory 的 WeatherStation 实体列表中,在任何更新或持久化之前添加当前 WeatherStation 的副本,然后让 Measurement 指向此 WeatherStationHistory。
所以我想知道解决这个问题的最佳方法是什么,以及如何在spring boot应用程序中实现它。
我希望我已经清楚地描述了我的问题。我将不胜感激任何建议。
spring-boot - 如何检查springboot JPA的表中是否已经存在记录?
我有一个有 4 个字段的表。如果我插入了一条已经存在的记录,即所有字段值都与表中的先前记录匹配。我如何只返回记录但不插入数据库?
我的模型如下所示:
控制器看起来像这样:
使用邮递员我发送这样的数据:
在这里,我正在发送表中已经存在的数据。所以,我想检查这个记录是否已经存在?如果不存在插入到表中,否则返回该存在的记录。
我如何使用 springboot Jpa hibernate 实现这一点?
postgresql - 尝试从 Postgres 数据库获取条目时遇到 PSQLException
我在下面有一个实体类。重要的是,user_config 列保留了基于 JSON 的用户配置,因此我必须使用 @Lob 注释变量。
我试图从下面的数据库中通过 JPA 存储库获取一堆条目:
最后,我在下面有一个例外:
你能帮我解决这个错误吗?
PS:SpringBoot版本:2.3.2.RELEASE
java - Spring Data Jpa如何处理静态外键相关表
经过一段时间后进入该领域,并使用spring boot和spring data jpa使用spring框架来提高我的java技能。
这是我的问题....我有一个我正在开发的项目管理应用程序,主表,称为项目,它具有静态状态表的外键,并且在尝试将新项目实体插入到具有状态的数据库时表对象集,我要么在状态表中得到重复的状态,要么在当前表单中,尝试在数据库中插入新的状态记录时出错,外键限制出错。
如何映射此关系以便在不创建新状态记录的情况下保存项目?还是我只需要删除项目和状态表的约束,并在对象级别保存项目实体的状态 ID?
//省略构造函数、getter 和设置
java - 数据库中的记录不更新
这是模拟实体的一部分:
和记录实体:
服务类(更新方法):
将模拟和记录添加到数据库中没有问题,但是当我想用新记录更新模拟时,我只更新模拟并添加具有相同模拟 ID 的新记录。我有没有犯任何错误或忘记做一些事情?感谢您的回答。
编辑:我添加了 orphanRemoval = true 到模拟实体,但现在我得到了这个堆栈跟踪:
有人知道问题出在哪里吗?