hibernate - Hibernate 映射的堆栈溢出异常
问题描述
java.lang.StackOverflowError: null
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:708)
这是我在使用 Find Method 时遇到的异常。我正在使用 Spring Boot JPA 存储库。
@Entity
@Table(name ="Store") 公共类 StoreEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long store_id;
private String storeDescription;
private String storeName;
private String lattitude;
private String longitude;
private boolean isActive;
private boolean is247;
private Date createdDate;
private Date lastModifiedBy;
@OneToMany(mappedBy = "store", cascade = CascadeType.ALL)
@JsonIgnoreProperties(value ="store", allowSetters=true)
private Set<GroceryItemEntity> groceryItem;
@Table(name ="Grocery") 公共类 GroceryItemEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long grocery_id;
private String name;
private String description;
private double price;
private boolean isActive;
private Date createdDate;
private Date lastModifiedBy;
@ManyToOne(cascade = CascadeType.ALL )
@JoinColumn(name = "store_id")
@JsonIgnoreProperties(value ="groceryItem", allowSetters=true)
private StoreEntity store;
部分例外
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:708)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
解决方案
@JsonIgnoreProperties(value ="groceryItem", allowSetters=true)
用于 All Mapping 以解决无限递归的问题。
实际上我改变了我的应用程序的结构。在端点而不是实体类中使用了 Vo
推荐阅读
- python - 在有向图中找到最大成本路径
- powershell - 使用 PowerShell 5 或 > 更新 zipfile。正在寻找改进的工作代码
- angular - 错误无法解析 LoginComponent 的所有参数:实现 Nebular Oauth2 时
- angular - 如何仅获取 isAllselected 函数的数据源中的过滤数据,即。角度7中的复选框列表功能“isAllSelected”
- java - Switch 语句 - JVM 内存分配、堆栈溢出
- hadoop - Hive Query:如何使用 group by 和 rank?
- reactjs - 需要选择的选择项的材质ui列表
- wordpress - Wordpress 从 http 迁移到 https 导致 CSS 文件无法加载
- php - 检查不会保存的 STRICT_TRANS_TABLES 变量时出错
- android - 当应用程序从 WhatsApp 指纹屏幕等后台恢复时,每次打开启动画面