2013-11-05 49 views
0

已經有兩個表Goal_Key和具有Initiative_Key的Initiative的目標以及包含Goal_Key和Intiative_Key的關聯表Goal_Initiative。Hibernate多對多映射持久性異常

下面是來自Table1即目標(已刪除的setter getters)。

@Entity 
@Table(name = "GOAL") 
@NamedQuery(name = "get_goal", 
    query = "SELECT goal FROM Goal goal ") 
public class Goal { 

/** The strategic_ goal_ key. */ 
@Column(name = "GOAL_KEY") 
private String Goal_Key; 

/** The strategic_ goal_ name. */ 
@Column(name = "GOAL_NM") 
private String strategic_Goal_Name; 

/** The client initiatives. */ 
@ManyToMany 
@JoinTable(name = "goal_initiative", joinColumns = { @JoinColumn(name = "Goal_Key") }, inverseJoinColumns = { @JoinColumn(name = "initiative_Key") }) 
List<ClientInitiative> initiative = new ArrayList<ClientInitiative>(); 

下面是從表2即倡議

/** 
* The Class ClientInitiative. 
*/ 
@Entity 
@Table(name = "INIITATIVE") 
public class ClientInitiative { 

/** The initiative_ key. */ 
@Column(name = "INITIATIVE_KEY") 
private String initiative_Key; 

/** The initiative_Key_Name. */ 
@Column(name = "INITIATIVE_KEY_NM") 
private String initiative_Key_Name; 

@ManyToMany(mappedBy="clientInitiative") 
List<StrategicGoal> strategicGoals = new ArrayList<StrategicGoal>(); 

這是我的實現類

@Repository 
    public class GoalDAOImpl extends BaseDaoImpl{ 

@Override 
@NamedQueryTarget("get_goal") 
public List<Goal> getGoals(String planUnitKey) { 

    List<Goal> goals = null; 
    try { 
     goals = (List<Goal>) getEntityManager() 
       .createNamedQuery("get_goal").getResultList(); 
     return strategicGoals; 
    } catch (NoResultException noResult) { 
     return null; 
    } 
} 

這總是返回我的錯誤,也請看到以下堆棧跟蹤爲什麼我添加一個新的Column.ID來查詢。我們在目標表中沒有任何列ID

" Persistence.PersistenceException" 

卡住了這個持久性錯誤。以上任何建議。

完整堆棧跟蹤

org.apache.openjpa.persistence.PersistenceException: DB2 SQL錯誤:SQLCODE = -206,SQLSTATE = 42703,則sqlerrmc = T0.ID,DRIVER = 3.52.95 {prepstmnt 1029586270

SELECT t0.id, t0.GOAL_KEY, t0.GOAL_NM 
    FROM CGSP.GOAL t0 

} [代碼= -206,狀態= 42703] SQLCA OUTPUT [ERRP = SQLNQ075,Errd = -2145779603,0,0,0,-10,0] DB2 SQL錯誤:SQLCODE = -206,SQLSTATE = 42703,SQLERRMC = T0.ID,DRIVER = 3.52.95 DB2 SQL錯誤:SQLCODE = -727,SQLSTATE = 56098,SQLERRMC = 2; -206; 42703; T0.ID,DRIVER = 3.52 .95 DB2 SQL錯誤:SQLCODE = -727,SQLSTATE = 56098,SQLERRMC = 2; -206; 42703; T0.ID,DRIVER = 3.52.95 FailedObject:SELECT goal FROM Goal goal [java.lang.String] at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4827) at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4787) at org.apache.openjpa .jdbc.sql.DB2Dictionary.newStoreException(DB2Dictionary.java:563) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136) at org.apache.openjpa.jdbc.sql.SQLExceptions .getStore(SQLExceptions.java:118) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:70) at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.handleChec (org.apache.openjpa.lib.rop.EagerResultList。(EagerResultList.java:40) at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1246) at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1005) at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:861) at org.apache.openjpa.kernel.QueryImpl .execute(QueryImpl.java:792) at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542) at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:288) at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:302) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)(java.lang.reflect.Method.invoke(Method.java:611))上的sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) (在DelegateMethodAccessorImpl.java:37) at org.springframework.orm.jpa。SharedEntityManagerCreator $ DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:311) 在$ Proxy49.getResultList(來源不明) 在com.ibm.sales.cgsp.dao.impl.GoalDAOImpl.getClientStrategicGoals(GoalDAOImpl.java:27) 在COM。 ibm.sales.cgsp.dao.test.ClientStrategicGoalDAOTest.testGetDetails(ClientStrategicGoalDAOTest.java:31) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 在org.junit.runners.model.FrameworkMethod $ 1.runReflectiveCall(FrameworkMethod。)上使用java.lang.reflect.Method.invoke(Method.java:611) 。 java:44) 在org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 在org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) 在org.junit.internal。 runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74) at org.springframework.test.context.junit4。在org.springframework.test.context.junit4.SpringJUnit4ClassRunner上的org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72) 。 runChild(SpringJUnit4ClassRunner.java:231) at org.springframework.test.contex (org.junit.runners.java:193) at org.junit.runners.ParentRunner $ 1.schedule(ParentRunner.java: 52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access $ 000(ParentRunner.java:42) at org.junit.runners.ParentRunner $ 2。評估(ParentRunner.java:184) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate( RunAfterTestClassCallbacks.java:71) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) 在org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174) 在org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) 的組織。 eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse。在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) (org.eclipse.jdt)上的jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 。 internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 原因:org.apache.openjpa.lib.jdbc.ReportingSQLException:DB2 SQL錯誤:SQLCODE = -206,SQLSTATE = 42703,則sqlerrmc = T0.ID,DRIVER = 3.52.95 {prepstmnt SELECT t0.id,t0.GOAL_KEY,t0.GOAL_NM FROM GOAL T0 1029586270} [代碼= -206,狀態= 42703]在 org.apache .openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:257) at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:241) at org.apache.openjpa.lib.jdbc .LoggingConnectionDecorator.access $ 700(LoggingConnectionDecorator.java:70) at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator $ LoggingConnection $ LoggingPreparedStatement.executeQuery(LoggingConnectionDecorator.java:1063) at org.apache.openjpa.lib.jdbc。 DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement。Java的:278) 在org.apache.openjpa.jdbc.kernel.JDBCStoreManager $ CancelPreparedStatement.executeQuery(JDBCStoreManager.java:1731) 在org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:268) at org.apache.openjpa.jdbc.sql.SelectImpl.executeQuery(SelectImpl.java:471) at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:396) at org.apache。 openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:363) at org.apache.openjpa.jdbc.sql.LogicalUnion $ UnionSelect.execute(LogicalUnion.java:427) at org.apache.openjpa.jdbc。 sql.LogicalUnion.execute(LogicalUnion.java:230) at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220) at org.apach e.openjpa.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94) 在org.apache.openjpa.lib.rop.EagerResultList(EagerResultList.java:34) ...... 43多個 NestedThrowables: COM .ibm.db2.jcc.a.nn:DB2 SQL錯誤:SQLCODE = -206,SQLSTATE = 42703,SQLERRMC = T0.ID,DRIVER = 3.52.95 at com.ibm.db2.jcc.a.ad.a (ad.java:666) at com.ibm.db2.jcc.a.ad.a(ad.java:60) at com.ibm.db2.jcc.a.ad.a(ad.java:127 ) at com.ibm.db2.jcc.a.rl.c(rl.java:2424) at com.ibm.db2.jcc.a.rl.d(rl.java:2401) at com.ibm .db2.jcc.a.rl.a(rl.java:1902) at com.ibm.db2.jcc.t4.db.g(db.java:138) at com.ibm.db2.jcc.t4 .db.a(db.java:38) at com.ibm.db2.jcc.t4.ta(t.java:32) at com.ibm.db2.jcc.t4.sb.h(sb.java:141) at com.ibm.db2。 jcc.a.rl.Y(rl.java:1873) at com.ibm.db2.jcc.a.sl.bc(sl.java:2526) at com.ibm.db2.jcc.a.sl. e(sl.java:3227) at com.ibm.db2.jcc.a.sl.Ob(sl.java:569) at com.ibm.db2.jcc.a.sl.executeQuery(sl.java: 543) 在org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:280) 在org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator $ LoggingConnection $ LoggingPreparedStatement.executeQuery(LoggingConnectionDecorator.java:1061) at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:278) 在org.apache.openjpa.jdbc.kernel.JDBCStoreManager $ CancelPreparedStatement.executeQuery(JDBCStoreManager.java:1731) 在org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:268) 的組織。 apache.openjpa.jdbc.sql.SelectImpl.executeQuery(SelectImpl.java:471) at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:396) at org.apache.openjpa.jdbc。 sql.SelectImpl.execute(SelectImpl.java:363) at org.apache.openjpa.jdbc.sql.LogicalUnion $ UnionSelect.execute(LogicalUnion.java:427) at org.apache.openjpa.jdbc.sql.LogicalUnion。在org.apache.openjpa.jdbc.kernel上執行(LogicalUnion.java:230) at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220) (SelectResultObjectProvider.java:94) at org.apache.openjpa.lib.rop.EagerResultList。(EagerResultList.java:34) at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java: 1246) at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1005) at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:861) at org.apache.openjpa。 kernel.QueryImpl.execute(QueryImpl.java:792) at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542) at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java: 288) at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:302) at sun.reflect.NativeMethodAccessorImpl。invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 在java.lang.reflect.Method.invoke(方法.java:611) at org.springframework.orm.jpa.SharedEntityManagerCreator $ DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:311) at $ Proxy49.getResultList(Unknown Source) at com.ibm.sales.cgsp.dao.impl .GoalDAOImpl.getClientStrategicGoals(GoalDAOImpl.java:27) 在com.ibm.sales.cgsp.dao.test.ClientStrategicGoalDAOTest.testGetDetails(ClientStrategicGoalDAOTest.java:31) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMe thodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 在java.lang.reflect.Method.invoke(Method.java:611) 在org.junit。 runners.model.FrameworkMethod $ 1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:41) 在org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 在org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java :74) at org.springframework.test.context.junit4.statements.RunAfte使用org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild SpringJUnit4ClassRunner.java:231) 在org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:88) 在org.junit.runners.ParentRunner $ 3.run(ParentRunner.java:193) 在組織.junit.runners.ParentRunner $ 1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access $ 000(ParentRunner.java :42) at org.junit.runners.ParentRunner $ 2.evaluate(ParentRunner.java:184) 在org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) 在org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71) 在org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174) at org.eclipse.jdt.internal.junit4。 runner.JUnit4TestReference.run(JUnit4TestReference.java:49) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner。 RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main( RemoteTestRunner.java:197) com.ibm.db2.jcc.a.SqlException:DB2 SQL錯誤:SQLCODE = -727,SQLSTATE = 56098,SQLERRMC = 2; -206; 42703; T0.ID,DRIVER = 3.52.95 at com.ibm.db2.jcc.a.ad.a(ad.java:669) at com.ibm.db2.jcc.a.ad.a(ad.java:60) at com.ibm。 db2.jcc.a.ad.a(ad.java:127) at com.ibm.db2.jcc.a.rl.c(rl.java:2424) at com.ibm.db2.jcc.a. rl.d(rl.java:2401) at com.ibm.db2.jcc.a.sl.a(sl.java:2452) at com.ibm.db2.jcc.t4.db.a(db。 java:187) at com.ibm.db2.jcc.t4.db.b(db。的java:81)在在 com.ibm.db2.jcc.t4.tb.c(tb.java:224 com.ibm.db2.jcc.t4.tb(t.java:69)),與在 。 ibm.db2.jcc.a.sl.Yb在com.ibm.db2.jcc.a.sl.bc(sl.java:2527)(sl.java:2443) 在com.ibm.db2.jcc。 a.sl.e在com.ibm.db2.jcc.a.sl.Ob(sl.java:569)(sl.java:3227) 在com.ibm.db2.jcc.a.sl.executeQuery( sl.java:543) 在org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:280) 在org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator $ LoggingConnection $ LoggingPreparedStatement.executeQuery(LoggingConnectionDecorator。的java:1061) 在org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:278) 在org.apache.openjpa.jdbc.kernel.JDBCStoreManager $ CancelPreparedStatement.executeQuery(JDBCStoreManager.java:1731) 在org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:268) 的組織。 apache.openjpa.jdbc.sql.SelectImpl.executeQuery(SelectImpl.java:471) 在org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:396) 在org.apache.openjpa.jdbc。 sql.SelectImpl.execute(SelectImpl.java:363) 在org.apache.openjpa.jdbc.sql.LogicalUnion $ UnionSelect.execute(LogicalUnion.java:427) 在org.apache.openjpa.jdbc.sql.LogicalUnion。執行(LogicalUnion.java:230) 在org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220) 在org.apache.openjpa。 jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94) 在org.apache.openjpa.lib.rop.EagerResultList。(EagerResultList.java:34) 在org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl的java:1246)在 org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1005) 在org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:861)在org.apache .openjpa.kernel.QueryImpl.execute(QueryImpl.java:792)處 org.apache.openjpa.persistence.QueryImpl.execute org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542)(QueryImpl的java:288)在 org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:302) 在sun.reflect.NativeMethodAccessorImpl.invoke0(NAT方法IVE) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)在 java.lang.reflect.Method.invoke(Method.java :611) 在org.springframework.orm.jpa.SharedEntityManagerCreator $ DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:311) 在$ Proxy49.getResultList(來源不明)在 com.ibm.sales.cgsp.dao.impl.GoalDAOImpl .getClientStrategicGoals(GoalDAOImpl.java:27)在 com.ibm.sales.cgsp.dao.test.ClientStrategicGoalDAOTest.testGetDetails(ClientStrategicGoalDAOTest.java:31) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法)在 的太陽。 reflect.NativeMethodAccesso rImpl.invoke(NativeMethodAccessorImpl.java:60)處 org.junit sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 在java.lang.reflect.Method.invoke(Method.java:611)。 runners.model.FrameworkMethod $ 1.runReflectiveCall在org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) 在org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) (FrameworkMethod.java:41) 在org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)在 org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java :74)在 org.springframework.test.context.junit4.statements。運行後測試方法回調。評估SpringJUnit4ClassRunner.java:231) 在org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:88) 在org.junit.runners.ParentRunner $ 3.run(ParentRunner.java:193) 在組織.junit.runners.ParentRunner $ 1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access $ 000(ParentRunner.java :42) at org.junit.runners.ParentRunner $ 2.evaluate(ParentRunner.java:184) 在org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) 在org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71) 在org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174) at org.eclipse.jdt.internal.junit4。 runner.JUnit4TestReference.run(JUnit4TestReference.java:49) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner。 RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunne r.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner。主(RemoteTestRunner.java:197) com.ibm.db2.jcc.a.SqlException:DB2 SQL錯誤:SQLCODE = -727,SQLSTATE = 56098,則sqlerrmc = 2; -206; 42703; T0.ID,DRIVER = 3.52 0.95 處COM com.ibm.db2.jcc.a.ad.a(ad.java:669) 在com.ibm.db2.jcc.a.ad.a(ad.java:60) 。 ibm.db2.jcc.a.ad.a(ad.java:127) at com.ibm.db2.jcc.a.rl.c(rl.java:2424) at com.ibm.db2.jcc。 a.rl.a(rl.java:1929) 在com.ibm.db2.jcc.t4.db.n(db.java:739) 在com.ibm.db2.jcc.t4.db.i( db.java:257) at com.ibm.db2.jcc.t4.db .C(db.java:52) 在com.ibm.db2.jcc.t4.tc(t.java:44) 在com.ibm.db2.jcc.t4.sb.i(sb.java:153 ) 在com.ibm.db2.jcc.a.rl.ab(rl.java:1924) 在com.ibm.db2.jcc.a.sl.e在com.ibm(sl.java:3286) .db2.jcc.a.sl.Ob在com.ibm.db2.jcc.a.sl.executeQuery(sl.java:543)在org.apache.openjpa.lib.jdbc(sl.java:569) .DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:280) 在org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator $ LoggingConnection $ LoggingPreparedStatement.executeQuery(LoggingConnectionDecorator.java:1061) 在org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement .executeQuery(DelegatingPreparedStatement.java:278) at org.apache.openjpa.jdbc.kernel.J DBCStoreManager $ CancelPreparedStatement.executeQuery(JDBCStoreManager.java:1731) at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:268) at org.apache.openjpa.jdbc.sql.SelectImpl.executeQuery( SelectImpl.java:471) at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:396) at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:363) at org.apache.openjpa.jdbc.sql.LogicalUnion $ UnionSelect.execute(LogicalUnion.java:427) at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:230) at org。 apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220) at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider。打開(SelectResultObjectProvider.java:94) at org.apache.openjpa.lib.rop.EagerResultList。(EagerResultList.java:34) at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1246) at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1005) at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:861) at org.apache.openjpa.kernel.QueryImpl .execute(QueryImpl.java:792) at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542) at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:288) at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:302) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 在java.lang.reflect.Method.invoke(Method.java:611) 在org.springframework.orm.jpa.SharedEntityManagerCreator $ DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:311) 在$ Proxy49.getResultList(來源不明) 在com.ibm.sales.cgsp.dao.impl.GoalDAOImpl.getClientStrategicGoals( GoalDAOImpl.java:27) 在com.ibm.sales.cgsp.dao.test.ClientStrategicGoalDAOTest.testGetDetails(ClientStrategicGoalDAOTest.java:31) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl .invoke(NativeMethodAccessorImpl.j ava:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.junit.runners.model.FrameworkMethod $ 1 .runReflectiveCall(FrameworkMethod.java:44) 在org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 在org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41 ) 在org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 在org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74) 在有機.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCa (SpringReader.java:72) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:在org.junit.runners.ParentRunner $ 3.run(ParentRunner.java:193) at org.junit.runners .ParentRunner $ 1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access $ 000(ParentRunner.java:42) 在org.junit.runners.ParentRunner $ 2.evaluate(ParentRunner.java:184) at org.springframework.test.context .junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) 在org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71) 在org.junit.runners.ParentRunner.run (ParentRunner.java:236) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java :49) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467 ) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner。的java:683) 在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java: 197)

+0

提供你的錯誤的整個堆棧跟蹤將幫助我們好很多 –

+0

@Pratik添加完整的堆棧跟蹤 – Suraj

+0

你google的sqlerrorcode 206? –

回答

1

如果你查找錯誤代碼,你會發現下面的

  1. 指定的列不是任何源或目標表或視圖書之列。
  2. 在SELECT或DELETE語句中,指定的列不是在語句的FROM子句中標識的任何表或視圖的列。
  3. SQL數據更改語句的列列表指定了目標表或視圖的列的名稱。
  4. 指定了限定列名稱,但指定爲限定符的表格指示符未在此上下文中定義。
  5. 在OLAP規範中指定了對列的相關引用。在OLAP規範中引用的每個列名必須明確引用包含OLAP規範的子選擇的結果表的列。

在你的情況它的觀點不是1.列ID不是你的GOAL表的列。因此,這個問題。

Hibernate使用對象的ID標識對象(在第一級和第二級緩存中),因此沒有ID的對象不能在休眠中表示。

+0

我錯過了將@Id添加到相應的列..感謝您指導我 – Suraj

+0

Pratik ..當我現在運行..沒有錯誤,但只有目標的值得到填充不是主動表..有映射在我的@ joinTable和@ joincolumn註釋中提到的關聯表Goal_Initiative ..有關爲什麼它的空 – Suraj

+0

Pratik Fetch Type不是懶惰的任何幫助已更改爲Eager Works Fine ..非常感謝您的幫助和建議 – Suraj