You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by Zhanming Qi <op...@gmail.com> on 2010/05/31 15:10:01 UTC
openjpa-2.0 how join fetch work?
Hi,
I have two Entity, Corporation and Division, a simple one to many relation.
@Test
public void testQueryFetchJoins(){
EntityManager em = entityManagerProvider.get();
Query query = em.createQuery(
"SELECT c " +
" FROM Corporation c JOIN FETCH c.divisions " +
" WHERE c.name = '" + CORP_A_NAME + "'");
List<Corporation> result = query.getResultList();
for (Corporation corporation : result ){
System.out.println(corporation.getName());
}
em.clear();
}
I test this method, and it print the right SQL Script on console.
but the test does not pass.
This is the failure trace:
<openjpa-2.0.0-r422266:935683 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: null
FailedObject: SELECT c FROM Corporation c JOIN FETCH c.divisions WHERE
c.name = 'Corporation A' [java.lang.String]
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:986)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:885)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1050)
at org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:280)
at
org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2344)
at org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:274)
at
org.apache.openjpa.jdbc.kernel.InstanceResultObjectProvider.getResultObject(InstanceResultObjectProvider.java:59)
at
org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:36)
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
com.qizm.tutorial.jpa.model.CorporationTest.testQueryFetchJoins(CorporationTest.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
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)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at 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)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
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)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.NullPointerException
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.setInverseRelation(JDBCStoreManager.java:489)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:449)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:342)
at
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:112)
at
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1005)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:963)
... 38 more
Here is the openjpa.Log
1672 aUnit TRACE [main] openjpa.jdbc.SQL - <t 24512621, conn 2310757>
executing prepstmnt 28730188
SELECT t0.ID, t0.version, t0.CORPORATION_NAME, t1.CORPORATION_ID, t1.ID,
t1.version, t1.CITY, t1.STATE, t1.STREET, t1.ZIP_CODE, t1.mumber,
t1.name
FROM CORPORATION t0 INNER JOIN DIVISION t1 ON t0.ID = t1.CORPORATION_ID
WHERE (t0.CORPORATION_NAME = ?)
[params=(String) Corporation A]
This SQL is right, but how did I can not pass this:List<Corporation> result
= query.getResultList();
Thanks.
Zhanming
--
View this message in context: http://openjpa.208410.n2.nabble.com/openjpa-2-0-how-join-fetch-work-tp5121731p5121731.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
RE: openjpa-2.0 how join fetch work?
Posted by Zhanming Qi <op...@gmail.com>.
Hi,
Thanks for you response.
I change code by your advice, but it didn't pass the test case.
I dont know how join fetch work in jpa spec.
any suggestions or url link?
Thanks.
Zhanming
--
View this message in context: http://openjpa.208410.n2.nabble.com/openjpa-2-0-how-join-fetch-work-tp5121731p5126099.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
RE: openjpa-2.0 how join fetch work?
Posted by C N Davies <cn...@cndavies.com>.
I find I need to cast my resultlist but your error doesn't suggest that is
the issue but anyway :
List<Corporation> result = (List<Corporation>)query.getResultList();
-----Original Message-----
From: Zhanming Qi [mailto:opengloves@gmail.com]
Sent: Monday, 31 May 2010 11:10 PM
To: users@openjpa.apache.org
Subject: openjpa-2.0 how join fetch work?
Hi,
I have two Entity, Corporation and Division, a simple one to many relation.
@Test
public void testQueryFetchJoins(){
EntityManager em = entityManagerProvider.get();
Query query = em.createQuery(
"SELECT c " +
" FROM Corporation c JOIN FETCH c.divisions "
+
" WHERE c.name = '" + CORP_A_NAME + "'");
List<Corporation> result = query.getResultList();
for (Corporation corporation : result ){
System.out.println(corporation.getName());
}
em.clear();
}
I test this method, and it print the right SQL Script on console.
but the test does not pass.
This is the failure trace:
<openjpa-2.0.0-r422266:935683 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: null
FailedObject: SELECT c FROM Corporation c JOIN FETCH c.divisions
WHERE
c.name = 'Corporation A' [java.lang.String]
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:986)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:885)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1
050)
at
org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:280)
at
org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:234
4)
at
org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:274)
at
org.apache.openjpa.jdbc.kernel.InstanceResultObjectProvider.getResultObject(
InstanceResultObjectProvider.java:59)
at
org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:36)
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
com.qizm.tutorial.jpa.model.CorporationTest.testQueryFetchJoins(CorporationT
est.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.
java:44)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.j
ava:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.ja
va:41)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.jav
a:20)
at
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunne
r.java:79)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.jav
a:71)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.jav
a:49)
at 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)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestRef
erence.java:46)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
8)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:467)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.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)
Caused by: java.lang.NullPointerException
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.setInverseRelation(JDBCStore
Manager.java:489)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreMan
ager.java:449)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.
java:342)
at
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreM
anager.java:112)
at
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57
)
at
org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1005)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:963)
... 38 more
Here is the openjpa.Log
1672 aUnit TRACE [main] openjpa.jdbc.SQL - <t 24512621, conn 2310757>
executing prepstmnt 28730188
SELECT t0.ID, t0.version, t0.CORPORATION_NAME, t1.CORPORATION_ID, t1.ID,
t1.version, t1.CITY, t1.STATE, t1.STREET, t1.ZIP_CODE, t1.mumber,
t1.name
FROM CORPORATION t0 INNER JOIN DIVISION t1 ON t0.ID = t1.CORPORATION_ID
WHERE (t0.CORPORATION_NAME = ?)
[params=(String) Corporation A]
This SQL is right, but how did I can not pass this:List<Corporation> result
= query.getResultList();
Thanks.
Zhanming
--
View this message in context:
http://openjpa.208410.n2.nabble.com/openjpa-2-0-how-join-fetch-work-tp512173
1p5121731.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
Re: openjpa-2.0 how join fetch work?
Posted by Zhanming Qi <qi...@gmail.com>.
Hi,
Thank you for your help.
Maybe some other things in my code is not correct.
I use derby, guice and openjpa for test. I will do some digging and try to
check it out.
Thanks.
Zhanming
--
View this message in context: http://openjpa.208410.n2.nabble.com/openjpa-2-0-how-join-fetch-work-tp5121731p5151791.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
Re: openjpa-2.0 how join fetch work?
Posted by Fay Wang <fy...@yahoo.com>.
Hi,
I still could not reproduce the NPE problem using your entities. The following is the url for join fetch.
http://openjpa.apache.org/builds/1.0.2/apache-openjpa-1.0.2/docs/manual/jpa_overview_query.html#jpa_overview_join_fetch
----- Original Message ----
From: Zhanming Qi <op...@gmail.com>
To: users@openjpa.apache.org
Sent: Thu, June 3, 2010 4:19:10 AM
Subject: Re: openjpa-2.0 how join fetch work?
Hi,
Here is my POJOs.
Corporation is:
@Entity
@Table(name = "CORPORATION")
public class Corporation implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID", nullable = false)
private int id;
@Column(name = "CORPORATION_NAME")
private String name;
@OneToMany(mappedBy = "corporation", fetch = FetchType.LAZY)
private Set<Division> divisions;
@Version
private int version;
public Corporation() {
}
getter and setter
}
Division is:
@Entity
@Table(name = "DIVISION")
public class Division implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID", nullable = false)
private long id;
private String name;
private long mumber;
@Embedded
private Address address;
@ManyToOne
@JoinColumn(name = "CORPORATION_ID")
private Corporation corporation;
@OneToMany(mappedBy = "division")
private Set<Department> departments;
@Version
private int version;
public Division() {
}
getter and setter
}
Thanks.
Zhanming
--
View this message in context: http://openjpa.208410.n2.nabble.com/openjpa-2-0-how-join-fetch-work-tp5121731p5134729.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
Re: openjpa-2.0 how join fetch work?
Posted by Zhanming Qi <op...@gmail.com>.
Hi,
Here is my POJOs.
Corporation is:
@Entity
@Table(name = "CORPORATION")
public class Corporation implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID", nullable = false)
private int id;
@Column(name = "CORPORATION_NAME")
private String name;
@OneToMany(mappedBy = "corporation", fetch = FetchType.LAZY)
private Set<Division> divisions;
@Version
private int version;
public Corporation() {
}
getter and setter
}
Division is:
@Entity
@Table(name = "DIVISION")
public class Division implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID", nullable = false)
private long id;
private String name;
private long mumber;
@Embedded
private Address address;
@ManyToOne
@JoinColumn(name = "CORPORATION_ID")
private Corporation corporation;
@OneToMany(mappedBy = "division")
private Set<Department> departments;
@Version
private int version;
public Division() {
}
getter and setter
}
Thanks.
Zhanming
--
View this message in context: http://openjpa.208410.n2.nabble.com/openjpa-2-0-how-join-fetch-work-tp5121731p5134729.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
Re: openjpa-2.0 how join fetch work?
Posted by Fay Wang <fy...@yahoo.com>.
Hi,
I could not reproduce this problem. In my test case, the Customer and Order is 1-m relationship:
@OneToMany(cascade = ALL/, mappedBy = "customer")
private Collection<Order> orders = new ArrayList<Order>();
The following query works just fine:
Query q = em.createQuery("SELECT c FROM Customer c JOIN FETCH c.orders where c.name = 'c1'");
List<Customer> list = q.getResultList();
Can you post your Corporation.java and Division.java?
Regards,
Fay
----- Original Message ----
From: Zhanming Qi <op...@gmail.com>
To: users@openjpa.apache.org
Sent: Mon, May 31, 2010 6:10:01 AM
Subject: openjpa-2.0 how join fetch work?
Hi,
I have two Entity, Corporation and Division, a simple one to many relation.
@Test
public void testQueryFetchJoins(){
EntityManager em = entityManagerProvider.get();
Query query = em.createQuery(
"SELECT c " +
" FROM Corporation c JOIN FETCH c.divisions " +
" WHERE c.name = '" + CORP_A_NAME + "'");
List<Corporation> result = query.getResultList();
for (Corporation corporation : result ){
System.out.println(corporation.getName());
}
em.clear();
}
I test this method, and it print the right SQL Script on console.
but the test does not pass.
This is the failure trace:
<openjpa-2.0.0-r422266:935683 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: null
FailedObject: SELECT c FROM Corporation c JOIN FETCH c.divisions WHERE
c.name = 'Corporation A' [java.lang.String]
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:986)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:885)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1050)
at org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:280)
at
org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2344)
at org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:274)
at
org.apache.openjpa.jdbc.kernel.InstanceResultObjectProvider.getResultObject(InstanceResultObjectProvider.java:59)
at
org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:36)
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
com.qizm.tutorial.jpa.model.CorporationTest.testQueryFetchJoins(CorporationTest.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
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)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at 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)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
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)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.NullPointerException
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.setInverseRelation(JDBCStoreManager.java:489)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:449)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:342)
at
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:112)
at
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1005)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:963)
... 38 more
Here is the openjpa.Log
1672 aUnit TRACE [main] openjpa.jdbc.SQL - <t 24512621, conn 2310757>
executing prepstmnt 28730188
SELECT t0.ID, t0.version, t0.CORPORATION_NAME, t1.CORPORATION_ID, t1.ID,
t1.version, t1.CITY, t1.STATE, t1.STREET, t1.ZIP_CODE, t1.mumber,
t1.name
FROM CORPORATION t0 INNER JOIN DIVISION t1 ON t0.ID = t1.CORPORATION_ID
WHERE (t0.CORPORATION_NAME = ?)
[params=(String) Corporation A]
This SQL is right, but how did I can not pass this:List<Corporation> result
= query.getResultList();
Thanks.
Zhanming
--
View this message in context: http://openjpa.208410.n2.nabble.com/openjpa-2-0-how-join-fetch-work-tp5121731p5121731.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.