- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的数据库中有一些表,我想获取有关对数据库的错误请求的信息。如果我试图用错误的外键保存实体,我想获取有关这些键的详细信息。
例如:
2020-03-25 18:37:37.595 ERROR 9788 --- [nio-8090-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: insert or update on table "student" violates foreign key constraint "student_fkey_to_specialty"
Detail: Key (specialtykey)=(2) is not present in table "specialty".
我试图用这段代码解决问题,但我得到了其他信息。
could not execute statement; SQL [n/a]; constraint [student_fkey_to_specialty]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
我的代码:
@PostMapping
public void saveStudent(@RequestBody StudentDTO studentDTO) {
if(studentDTO!=null){
try {
studentService.save(studentDTO);
}catch (Exception|Error e){
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, e.getLocalizedMessage(),e );
}
}
}
最佳答案
使用循环迭代到原来的异常,这是一个执行此操作的示例函数:
private String getCauseMessage(Throwable t)
Throwable cause = t;
while (t.getCause() != null) {
cause = t.getCause();
}
return t.getLocalizedMessage();
}
因为您永远不知道有多少异常可能被链接在一起,所以使用循环是最安全的方法。如果您只是直接使用它,您可能会遇到 NullPointerException
或没有收到原始异常的消息。
关于spring - 如何从 REST spring 应用程序的 SqlExceptionHelper 获取有关错误的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60851366/
我对 Hibernate (hibernate-core-4.1.9.Final.jar) 有疑问 案例 1:在 for 循环内进行 Hibernate 测试。一切顺利。 for(int i = 0;
我想“捕捉这条消息” 2018-11-26 00:44:53.175 WARN 14548 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptio
由于其复杂性,使用 Hibernate JPA 在 Oracle DB 中执行 native 查询,我想捕获从 SqlExceptionHelper 类抛出的 "ORA-01722: Nombre n
错误 SqlExceptionHelper - 整数值不正确:'\xAC\xED\x00\x05sr\x00!com.domain.Client\xF3\xA5\x02\x0E\xC5d.\xA2\x
当列与数据库列不匹配时,我们在日志中收到如下异常。但它并没有抛出异常。我什至保留了 try catch。我怎样才能捕获异常? 警告 2015-11-04 17:25:44,055 [http-apr-
我有两个Grails域类(表)之间的Foriegn关键关系 class ServiceProvider { String name String address } class Fie
您好,我正在关注《行动》第 5 版书中的 spring,当我想从成分表中获取参数时遇到问题。在以下方法中,我尝试使用成分Repository.findAll() 填充列表: @GetMapping p
我的数据库中有一些表,我想获取有关对数据库的错误请求的信息。如果我试图用错误的外键保存实体,我想获取有关这些键的详细信息。 例如: 2020-03-25 18:37:37.595 ERROR 9788
我有一个托管在服务器(Tomcat 8.5)上的 Spring 应用程序。如果没有人使用它,它就会闲置。我已经知道如果数据库处于空闲状态8小时就会发生超时(MySQL的默认超时)。正如 Spring
我有以下域对象 @Table(uniqueConstraints={@UniqueConstraint(columnNames={"name", "company_id", "global"}, na
我正在尝试通过 flume 将使用聚集列存储索引的 DWH SQL Server 表中的数据导入到 kudu 中。但是,在我的自定义 flume 源从数据库中检索一定数量的行后,出现以下异常: Sql
我有一个 spring 应用程序,我有一个使用以下语法的 native 查询: select COUNT(DISTINCT person.id,(CASE WHEN salary_perso
我有一个 Spring 3.1、Hibernate 4 和 Primefaces 应用程序。它在我的本地计算机上运行良好,但是当我在我的 Web 主机上部署 ant 生成的 war 文件时,当我尝试登
我是 Java EE 新手,当我尝试通过 WEB-APP 从 HSQL DB 获取数据时,我在 Wildfly 控制台中收到此错误。 20:11:53,780 INFO [stdout] (defa
请帮忙。我是 hibernate 5 + MySQL 的新手,所以这可能是个愚蠢的场景。 我正在尝试创建一个非常基本的社交媒体应用程序,允许注册、登录和添加 friend 。我收到此错误: 23:47
在这里,我试图找到所有在我提供的范围内的实体。我的意思是,如果我给出一个特定半径的圆,它将必须显示位置坐标位于给定圆内的所有实体。 我正在使用 hibernate-spatial 来实现这一点。但是在
我最近将Grails应用程序部署到Tomcat,并在启动时遇到以下异常。 o.h.engine.jdbc.spi.SqlExceptionHelper 我不确定发生了什么。在BootStrap中创建所
下面是我在 ORACLE 中的查询,它出现了 ORA-00917:缺少逗号错误。 public boolean setFileDetails(String fileName,String fileTy
我已经尝试解决这个问题两天了,但没有任何效果。我将这些实体隐含在双向关系中。 @Entity @Table( name = "T_user" ) public class T_user impleme
我在尝试通过 hibernate 返回多个实体时遇到错误。根据文档我尝试了以下选择语句: sess.createSQLQuery("SELECT {a.*}, {b.*} FROM A a LEFT
我是一名优秀的程序员,十分优秀!