Java EE之Hibernate異常總結【5】java.lang.StackOverflowError[棧溢出]


Exception in thread "main" java.lang.StackOverflowError
	at java.lang.reflect.InvocationTargetException.<init>(InvocationTargetException.java:72)
	at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:84)
	at com.cpms.entity.Department_$$_jvst20d_0.toString(Department_$$_jvst20d_0.java)

 由於采取了熱加載(載入時就將引用實體同時載入),在使用toString方法時,陷入死循環。

解決辦法:

step1:toString()中可以取消對引用對象的輸出;

step2:將熱加載載改成懶加載fetch=lazy


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM