openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Sutter <kwsut...@gmail.com>
Subject Re: [jira] [Created] (OPENJPA-2138) One-To-Many mapping is not working
Date Wed, 22 Feb 2012 14:32:22 GMT
Hi,
By default, collection-based relationships (ie. one-to-many) are lazily
fetched.  That means that they will not be included in a query of the
entity containing this relationship.  You either need to touch that
collection filed or change the fetch mode to Eager.

Kevin

On Wed, Feb 22, 2012 at 3:38 AM, aabbcc (Created) (JIRA) <jira@apache.org>wrote:

> One-To-Many mapping is not working
> ----------------------------------
>
>                 Key: OPENJPA-2138
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2138
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jpa
>    Affects Versions: 2.1.1
>            Reporter: aabbcc
>
>
> I have business object model with below structure
>
> Class A {
> private B b;
>
> }
>
> Class B {
> private String joinKey;
> private List<C> c;
> }
>
> Class C {
> private String joinKey;
> private String str1;
> private String str2;
> }
>
> In the ORM.xml,I have specified mapping like this
>
> <entity class="xxx.xxx.A">
>  <table name="table1"/>
>  <attributes>
>  <one-to-one name="name1" target-entity="xxx.xxx.B">
>      <join-column name='"column1"' referenced-column-name='"column1"'/>
>  </one-to-one>
>  </attributes>
> </entity>
>
> <entity class="xxx.xxx.B">
>  <table name="table2"/>
>  <attributes>
>  <basic name="joinKey">
>    <column name="column1"/>
>  </basic>
>  <one-to-many name="name1" target-entity="xxx.xxx.C">
>      <join-column name='"column1"' referenced-column-name='"column1"'/>
>  </one-to-many>
>  </attributes>
> </entity>
>
> <entity class="xxx.xxx.C">
>  <attributes>
>  <basic name="joinKey">
>    <column name="column1"/>
>  </basic>
>      <basic name="str1">
>           <column name="str1Column"/>
>      </basic>
>      <basic name="str2">
>           <column name="str2Column"/>
>      </basic>
>  </attributes>
>
> </entity>
>
>
> The one-to-many mapping specified in the entity C does not work by both
> approach 1) JoinColumn 2) JoinTable.  My code skips this mapping while
> generating SQL query.
> But instead of one-to-many mapping If I specify one-to-one mapping and
> change class B to replace "private List<C> c;" with "private C c;" then the
> one-to-one mapping works fine.
>
> I am using OPENJpa 2.1.1, as per the documentation one-to-many mapping
> should work but it seems OPENJpa 2.1.1 API is working as expected. It seems
> there is bug in API.
>
> Can you please advise to fix this issue?
>
> --
> This message is automatically generated by JIRA.
> If you think it was sent incorrectly, please contact your JIRA
> administrators:
> https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message