hibernate+mysql关联映射师遇到java.lang.StackOverflowError异常

原因在进行关联映射时在多的一方的toString方法中有对属性对应的一的一方的输出

比如:

一的一方:

@Entity@Table(name = "app",schema = "", catalog = "game")public class AppEntity {    @Id    @Column(name = "appId")    private String appId;

@Basic    @Column(name = "appName")    private String  appName;    @Basic    @Column(name = "appdesc")    private String appdesc;    @Basic    @Column(name = "provider")    private String provider;    @Basic    @Column(name = "version")    private String version;    @Basic    @Column(name="postTime")    private Long postTime;    @Basic    @Column(name = "updateTime")    private Long updateTime;

 @OneToMany(mappedBy = "appEntity",fetch = FetchType.EAGER)    private Set<ProductEntity> productEntities;    @OneToMany(mappedBy = "appEntity",fetch = FetchType.LAZY)    private Set<OrdersEntity> ordersEntities;

  

多的一方@Entity@Table(name = "product", schema = "" , catalog = "game")@IdClass(ProductEntityPK.class)public class ProductEntity {    @Id    @Column(name = "appId")    private String appId;    @Id    @GeneratedValue    @Column(name = "productId")    private long productId;    @Basic    @Column(name = "productName")    private String productName;    @Basic    @Column(name = "productDesc")    private String productDesc;    @Basic    @Column(name = "price")    private long price;

@ManyToOne(fetch = FetchType.EAGER)    @JoinColumn(name="appId",insertable = false, updatable = false)    private AppEntity appEntity;

@Override
public String toString() {    return "ProductEntity{" +            "appId=‘" + appId + ‘\‘‘ +            ", productId=" + productId +            ", productName=‘" + productName + ‘\‘‘ +            ", productDesc=‘" + productDesc + ‘\‘‘ +            ", price=" + price             ", appEntity=" + appEntity +            ‘}‘;}
解决办法:将productEntity的toString方法中去掉 ", appEntity=" + appEntity +
时间: 2024-11-09 09:21:05

hibernate+mysql关联映射师遇到java.lang.StackOverflowError异常的相关文章

总结发生java.lang.StackOverflowError异常--1

java.lang.StackOverflowError at java.lang.Integer.toString(Integer.java:305) at java.lang.Integer.toString(Integer.java:118) at java.lang.String.valueOf(String.java:2931) at java.lang.Integer.toString(Integer.java:722) at java.lang.String.valueOf(Str

Android 执行 gson.toJson(object) 报java.lang.StackOverflowError异常

如下面的代码,执行后报java.lang.StackOverflowError错误: MusicSavedInfo musicSavedInfo=new MusicSavedInfo(currentStartTime,openOrCloseFlag,currentDayFlags,currentSelectMusicTitle,currentSelectMusicPath,"1"); String jsonData=gson.toJson(musicSavedInfo); 我手机4.1

Java 两个方法彼此调用导致java.lang.StackOverflowError

在我自己的Vector类中有一个构造方法: public Vector(float[] vector) { this.vector = vector; this.length = vector.length; this.size = VectorUtil.computeVectorSize(vector); } 这个构造方法调用VectorUtil的computeVectorSize(float[] vector)方法来计算向量的长度,computeVectorSize(float[] vect

Hibernate注解----关联映射注解以及课程总结详解----图片版本

上一篇,记录了Hibernate注解----类级别注解以及属性注解详解 ,我们这一节主要讲解的是Hibernate注解----关联映射注解以及课程总结详解. 本节的主要内容: 第3章 关联映射注解 3-1 本章简介 3-2 实体之间的关系 3-3 一对一单向外键关联(一) 3-4 一对一单向外键关联(二) 3-5 一对一双向外键关联 3-6 一对一单向外键联合主键 3-7 多对一单向外键关联(一) 3-8 多对一单向外键关联(二) 3-9 一对多单向外键关联 3-9 一对多双向外键关联 3-10

sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to java.lang.Class异常解决方法

package com.wzs; import java.lang.reflect.ParameterizedType; public class T1<T> {     private Class classt;     public T1() {         ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass();         this.classt = (Class)

多线程之同步synchronized的使用不当造成java.lang.IllegalMonitorStateException 异常

package com.bjsxt.d822.a2; public class SubThread9 extends Thread { /* * 当多个对象同时对同一个资源操作,则必须使用同步机制来控制. * * 1.当方法去操作共享资源时,则该方法必须通过 synchronized关键字来修饰. * 2.当方法被 synchronized 关键字修饰时,还需要 wait() 和 notify()两个方法配合使用. * wait()方法是让当前线程对象进入等待状态. * notify()方法是让

getActionBar().setTitle(); Java.lang.NullPoint异常解决方案

getActionBar().setTitle(); Java.lang.NullPoint异常解决方案,是由于低版本不支持直接获取的缘故,修改方案: try changing your theme to this <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"> and not the AppCompat Version 另外一种情况,如果是低版本,API低于

android布局太深导致的 java.lang.StackOverflowError

E/AndroidRuntime( 1900): java.lang.StackOverflowError E/AndroidRuntime( 1900):     at android.graphics.Canvas.drawText(Canvas.java:1269) E/AndroidRuntime( 1900):     at android.text.Layout.draw(Layout.java:337) E/AndroidRuntime( 1900):     at android

struts2 java.lang.StackOverflowError org.apache.struts2.json.JSONWriter

1. 问题描述: 页面通过异步访问action,    action的方法通过map封装数据,struts的result的type设置为json,后台报错 六月 25, 2016 6:54:33 下午 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [default] in context with path [/msf] threw exception [Fil