- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 spring data jpa 将实体保存在数据库中。我收到 TransientPropertyValueException,这是因为我试图保存具有未保存的关联品牌的产品。我想捕获 TransientPropertyValueException 这似乎是不可能的。我知道我可以通过使用 CascadeType 来解决这个问题。但我不想用它。相反,我想捕获异常并用消息重新抛出 CustomException。我怎样才能捕获这个异常。任何评论表示赞赏。提前致谢。
我也尝试过这个
if(exception.getCause() instanceof TransientPropertyValueException)
但这不起作用。
实体类
@Entity
@Table(name = "Product")
public class Product implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "PRODUCT_SEQ")
@SequenceGenerator(name="PRODUCT_SEQ", sequenceName = "PRODUCT_SEQ", allocationSize=1)
@Column(name = "PRODUCT_ID", nullable = false)
private long productId;
@OneToOne
@JoinColumn(name = "BRAND_ID", nullable = false)
private Brand brandId;
这就是我打算捕获它的方式。
catch(Exception e) {
if (exception.getCause() instanceof ConstraintViolationException)
throw new CustomException("...");
// catch TransientPropertyValueException
if (exception.getCause() instanceof TransientPropertyValueException)
throw new CustomException("...");
}
最佳答案
你可以尝试:
import org.apache.commons.lang3.exception.ExceptionUtils;
...
int index = ExceptionUtils.indexOfThrowable(exception, TransientPropertyValueException.class);
if (index > 0) {
//here we are
}
...
还有一种方法org.apache.commons.lang3.exception.ExceptionUtils.hasCause
关于java - 如何捕获 TransientPropertyValueException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57671259/
我正在使用 spring data jpa 将实体保存在数据库中。我收到 TransientPropertyValueException,这是因为我试图保存具有未保存的关联品牌的产品。我想捕获 Tra
我有两个相关实体,Institution 和 Registration,因此 Registration 和 Institution 之间存在多对一关系。因此,我们应该能够拥有单个机构的注册条目。 实体
我发现 hibernate(或 mariadb)JPA 似乎无法处理外键中的 0 值。 我有一个父类 class Parent { @Id @GeneratedValue(strate
我正在尝试使用 hibernate 将数据插入数据库。以下是我将如何执行该操作 session.beginTransaction(); pojo.StuDetails stu = ne
我想使用 hibernate 创建一个数据库映射:每个 Person 可能只有一个 Address,但可以分配相同的地址多人(例如家庭成员)。 以下映射不起作用: @Entity public cla
我有以下类(class): A 产品类: package com.springtraining.hibernate.invoice; import lombok.Getter; import lomb
我有一个父实体-Parent 和一个子实体-Child,具有一对一的关系。我正在对实体使用双向映射。 由于子列被设计为只读列,如何在不保存子列的情况下保存父列?持久化父对象时会报 transient
我有一个 A 类。A 有一个 B 的 TreeSet。B 有一个 C 的 TreeSet。C 有一个 D 的 HashSet。 我收到此异常: Caused by: org.hibernate.Tra
我正在我的网络应用程序中设置客户端购物车。在添加购物车类和他的服务之前一切都很好。现在,当我尝试启动 Spring 应用程序时,会显示此错误: Caused by: org.hibernate.Tra
我有一个名为发票的对象,它有一个复杂对象的字段 public class Invoice { @ManyToOne @JoinColumn(name = "id_site_to")
我的应用程序有两个实体产品和类别。添加产品时,用户选择产品所属的类别。但是当将产品保存到数据库时,我遇到了错误 org.springframework.web.util.NestedServletEx
我需要一些帮助来解决 Hibernate TransientPropertyValueException 我们有两个实体: @Entity @Table(name = "TABLE_A") publi
更新父实体时出现以下错误:请注意,持久化新父子实体时不会出现错误,仅在合并操作时才会出现错误。 org.hibernate.TransientPropertyValueException:对象引用未保
首先 - 我知道,似乎同一个问题已经被问了一百万次。然而,这与 DTO 有关,而不是与实体或缺失的级联有关。如果我自己创建一个实体并保存它,一切都很好。当我创建 DTO、使用 ModelMapper
我在我的项目中使用 spring boot 和 spring data,我有两个类: class Mission implements Serializable { private static fi
我是一名优秀的程序员,十分优秀!