5 행이있는 데이터베이스 테이블이 있습니다. Eclipselink 캐시가 없습니다 StackOverflowError
처음
나는 내가 StackOverflowError가 내가 행em.find(clazz, 1);
em.find(clazz, 2);
em.find(clazz, 3);
em.find(clazz, 4);
em.find(clazz, 5);
그런 선택의 각각에 하나의 선택을 어떻게 이제까지
em.createQuery("SELECT e FROM " + clazz.getSimpleName() + " e");
모두가 완벽하게 작동 얻을 모두 선택을한다. 나는 이것이 캐시에없는 레코드와 관련이 있다고 생각합니까?
전체 스택 추적은 여기 너무 깁니다있는 java.lang에서 상단
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass (DefaultClassLoader.java:107)에서java.lang.StackOverflowError의 입니다 .ClassLoader.loadClass (알 수없는 소스) at java.lang.ClassLoader.loadClassInternal (알 수없는 소스) at com.mysql.jdbc.Util.handleNewInstance (Util.java:427) at com.mysql.jdbc.PreparedStatement.getInstance (PreparedStatement.java:872) at com.mysql.jdbc.ConnectionImpl.clientPrepareStatement (ConnectionImpl.java:1498) at com.mysql.jdbc.Connection impl.prepareStatement (ConnectionImpl.java:4270) at com.mysql.jdbc.ConnectionImpl.prepareStatement (ConnectionImpl.java:4169) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement (DatabaseAccessor.java:1401) org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement에서 org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement (DatabaseAccessor.java:1350) (DatabaseCall.java:652) org.eclipse에서 에서 . org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall (DatabaseAccessor.java:576) 에서 persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall at org.eclipse.persistence.sessions.server. ServerSession.executeCall (ServerSession.java:529) 012 org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall에서 org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall (DatasourceCallQueryMechanism.java:206) (DatasourceCallQueryMechanism.java:192) org.eclipse에서 에서 3,516,. persistence.internal.queries.DatasourceCallQueryMechanism.selectOneRow (DatasourceCallQueryMechanism.java:664) org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectOneRowFromTable (ExpressionQueryMechanism.java:2582)에서 org.eclipse.persistence.internal.queries에서 . ExpressionQueryMechanism.selectOneRow (ExpressionQueryMechanism.java:2553) at org.eclipse.persistence.queries.ReadObjectQuery.executeObjectLevelReadQuery (ReadObjectQuery.java:439) at org.eclipse.persistence.queries.ObjectLevelRea (DatabaseQuery.java:740) at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute (ObjectLevelReadQuery.java:1036) at org.eclipse.persistence.queries.ReadObjectQuery.execute (ReadObjectQuery.java:407) at org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery (AbstractSession.java:2392) at org.eclipse.persistence. internal.sessions.AbstractSession.executeQuery (AbstractSession.java:1291) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery (AbstractSession.java:1273) at org.eclipse.persistence.internal.indirection.NoIndirectionPolicy. valueFromQuery (NoIndirectionPolicy.java:309)org.eclipse.persistence.mappings에서.org.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromRow에서 org.eclipse.persistence.mappings.OneToOneMapping.valueFromRowInternal (OneToOneMapping.java:1623) 에서 ForeignReferenceMapping.valueFromRowInternal (ForeignReferenceMapping.java:1850) (ForeignReferenceMapping.java:1739) org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildAttributesIntoObject에서 org.eclipse.persistence.mappings.DatabaseMapping.readFromRowIntoObject (DatabaseMapping.java:1283) (ObjectBuilder.java:342) org.eclipse.persistence에서 에서 . internal.descriptors.ObjectBuilder.buildObject (ObjectBuilder.java:717) at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject (ObjectBuilder.java:504) at org.eclipse.persistence.internal.descriptors.ObjectBuilder. buildObjec t (ObjectBuilder.java:454) org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject (ObjectLevelReadQuery.java:723)에서 org.eclipse.persistence.queries.ReadObjectQuery.executeObjectLevelReadQuery (ReadObjectQuery.java:448)에서 에서 org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery (ObjectLevelReadQuery.java:1076) at org.eclipse.persistence.queries.DatabaseQuery.execute (DatabaseQuery.java:740) at org.eclipse.persistence.queries.ObjectLevelReadQuery. org.eclipse.persistence.queries.ReadObjectQuery.execute (ReadObjectQuery.java:407) 에서 을 실행하십시오. at org.eclipse.persistence .internal.sessions.AbstractSession.executeQuery (AbstractSession.java:1291) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery (AbstractSession.java:1273) at org.eclipse.persistence.internal.indirection.NoIndirectionPolicy org.eclipse.persistence.mappings.OneToOneMapping.valueFromRowInternal (OneToOneMapping.java:1623)에서 org.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromRowInternal (ForeignReferenceMapping.java:1850) 에서 .valueFromQuery (NoIndirectionPolicy.java:309) org.eclipse.persistence.mappings.DatabaseMapping.readFromRowIntoObject (DatabaseMapping.java:1283)에서 org.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromRow (ForeignReferenceMapping.java:1739) 에서 org.eclipse.persistence.internal.descriptors에서 .ObjectB uilder.buildAttributesIntoObject (ObjectBuilder.java:342) at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject (ObjectBuilder.java:717) at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject (ObjectBuilder. java : 504) at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject (ObjectBuilder.java:454) at org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject (ObjectLevelReadQuery.java:723) at org. org.eclipse.persistence.queries.DatabaseQuery.execute에서 org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery (ObjectLevelReadQuery.java:1076) 에서 eclipse.persistence.queries.ReadObjectQuery.executeObjectLevelReadQuery (ReadObjectQuery.java:448) (DatabaseQuery.java:740) at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute (ObjectLevelReadQuery.java:1036) at org.eclipse.persistence.queries.ReadObjectQuery.execute (ReadObjectQuery.java:407) at org.eclipse.persistence.internal. sessions.AbstractSession.internalExecuteQuery (AbstractSession.java:2392) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery (AbstractSession.java:1291) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery org.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromRowInternal (ForeignReferenceMapping.java:1850) 에서 org.eclipse.persistence.internal.indirection.NoIndirectionPolicy.valueFromQuery (NoIndirectionPolicy.java:309) 에서 AbstractSession.java:1273) 에서 org.eclipse.persistence.mappings.org.eclipse.persistence.mappings.DatabaseMapping.readFromRowIntoObject에서 OneToOneMapping.valueFromRowInternal org.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromRow (ForeignReferenceMapping.java:1739)에서 (OneToOneMapping.java:1623) (DatabaseMapping.java:1283) at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildAttributesIntoObject (ObjectBuilder.java:342) at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject (ObjectBuilder.java:717) at org.eclipse. persistence.internal.descriptors.ObjectBuilder.buildObject (ObjectBuilder.java:504) at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject (ObjectBuilder.java:454) at org.eclipse.persistence.queries.ObjectLevelReadQuery. buildObject (ObjectLevelReadQuery.j 아바 : 723) org.eclipse.persistence.queries.ReadObjectQuery.executeObjectLevelReadQuery (ReadObjectQuery.java:448에서 ) org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery (ObjectLevelReadQuery.java:1076에서 ) org.eclipse에서 . (DatabaseQuery.java:740) 에서 org.eclipse.persistence.queries.ObjectLevelReadQuery.execute (ObjectLevelReadQuery.java:1036) 에서 org.eclipse.persistence.queries.ReadObjectQuery.execute (ReadObjectQuery. java : 407) at org.eclipse.persistence.internal.sessions.Aternal AbstractExecuteQuery (AbstractSession.java:2392) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery (AbstractSession.java:1291) at org.eclipse.persistence.internal.sessi ons.AbstractSession.executeQuery (AbstractSession.java:1273) org.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromRowInternal (ForeignReferenceMapping에서 org.eclipse.persistence.internal.indirection.NoIndirectionPolicy.valueFromQuery (NoIndirectionPolicy.java:309) 에서 . 자바 : 1850) org.eclipse.persistence.mappings.OneToOneMapping.valueFromRowInternal (OneToOneMapping.java:1623) 에서 org.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromRow (ForeignReferenceMapping.java:1739) 에서 org.eclipse에서. persistence.mappings.DatabaseMapping.readFromRowIntoObject (DatabaseMapping.java:1283) at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildAttributesIntoObject (ObjectBuilder.java:342) at org.eclipse.persistence.internal.descriptors.ObjectBuild er.buildObject (ObjectBuilder.java:717) org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject에서 org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject (ObjectBuilder.java:504) 에서 (ObjectBuilder. 자바 : org.eclipse에서 org.eclipse.persistence.queries.ReadObjectQuery.executeObjectLevelReadQuery (ReadObjectQuery.java:448) 에서 org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject (ObjectLevelReadQuery.java:723) 에서 454) . org.eclipse.persistence.queries.DatabaseQuery.execute에서 persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery (ObjectLevelReadQuery.java:1076) (DatabaseQuery.java:740)
우수를 공유 캐시를 사용하지 않으려면! 나는'org.eclipse.persistence.exceptions.QueryException'을 얻었고,이 권고안을 따르면서 고쳤다.나는 문서가 _ "CacheType'을'None'으로 설정함으로써 캐시를 비활성화하지 않는다면 이것은 객체 ID 문제를 일으킬 수 있습니다."_ 이것이 NONE shared -cache-mode>', 맞습니까? –