Return-Path: Delivered-To: apmail-openjpa-users-archive@locus.apache.org Received: (qmail 96949 invoked from network); 11 Sep 2007 09:38:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 Sep 2007 09:38:21 -0000 Received: (qmail 57939 invoked by uid 500); 11 Sep 2007 09:38:14 -0000 Delivered-To: apmail-openjpa-users-archive@openjpa.apache.org Received: (qmail 57920 invoked by uid 500); 11 Sep 2007 09:38:14 -0000 Mailing-List: contact users-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@openjpa.apache.org Delivered-To: mailing list users@openjpa.apache.org Received: (qmail 57911 invoked by uid 99); 11 Sep 2007 09:38:14 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Sep 2007 02:38:14 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [87.106.7.26] (HELO s15206096.onlinehome-server.info) (87.106.7.26) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Sep 2007 09:39:40 +0000 Received: (qmail 14133 invoked from network); 11 Sep 2007 11:47:47 +0200 Received: from unknown (HELO ?10.135.228.43?) (80.187.149.243) by s15206096.onlinehome-server.info with SMTP; 11 Sep 2007 11:47:46 +0200 Mime-Version: 1.0 (Apple Message framework v752.3) In-Reply-To: References: Content-Type: multipart/alternative; boundary=Apple-Mail-3-742862746 Message-Id: From: Marc Logemann Subject: Re: Lazy load for detached entities Date: Tue, 11 Sep 2007 11:37:40 +0200 To: users@openjpa.apache.org X-Mailer: Apple Mail (2.752.3) X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail-3-742862746 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=WINDOWS-1252; delsp=yes; format=flowed This is of course the manual way but fetch-groups are smarter in my =20 oppinion.... But i am using Kodo and it might be that fetch groups =20 are not supported in openJPA but i think it is.... -- regards Marc Logemann [blog] http://www.logemann.org [busn] http://www.logentis.de Am 11.09.2007 um 11:17 schrieb Gene Wu: > to support lazy load base on your code. Just change the order. Load =20= > the object before you close em(this is the context needed for lazy =20 > load). > > EntityManagerFactory emf =3D Persistence.createEntityManagerFactory=20 > ("pu1"); > EntityManager em =3D emf.createEntityManager(); > OrdersEntity order =3D em.find(OrdersEntity.class, .....); > System.out.println(order.getUser()); > em.close(); > emf.close(); > > Thanks, > > Gene. >> Date: Tue, 11 Sep 2007 10:30:45 +0300 >> To: users@openjpa.apache.org >> Subject: Lazy load for detached entities >> From: eshepelyuk@gmail.com >> >> Hello ! >> >> Is there any way to access fields marked with lazy fetching for =20 >> detached >> entities. >> Im having some code like >> >> @Entity >> @Table(schema =3D "public", name =3D "users") >> public class UsersEntity { >> private Integer userid; >> private List orders; >> >> @OneToMany(cascade =3D CascadeType.PERSIST, mappedBy =3D "user", = fetch =3D >> FetchType.LAZY) >> public List getOrders() { >> return orders; >> } >> >> public void setOrders(List orders) { >> this.orders =3D orders; >> } >> >> @Id >> @Column(name =3D "userid", nullable =3D false) >> @GeneratedValue(strategy =3D GenerationType.IDENTITY) >> public Integer getUserid() { >> return userid; >> } >> >> public void setUserid(Integer userid) { >> this.userid =3D userid; >> } >> } >> >> >> @Entity >> @Table(schema =3D "public", name =3D "orders") >> public class OrdersEntity { >> private Integer orderid; >> private UsersEntity user; >> >> @ManyToOne(fetch =3D FetchType.LAZY) >> @JoinColumn(name =3D "userid", nullable =3D false) >> public UsersEntity getUser() { >> return user; >> } >> >> public void setUser(UsersEntity user) { >> this.user =3D user; >> } >> >> @Id >> @Column(name =3D "orderid", nullable =3D false, length =3D 10) >> @GeneratedValue(strategy =3D GenerationType.IDENTITY) >> public Integer getOrderid() { >> return orderid; >> } >> >> public void setOrderid(Integer orderid) { >> this.orderid =3D orderid; >> } >> } >> >> And my program code >> >> EntityManagerFactory emf =3D Persistence.createEntityManagerFactory=20= >> ("pu1"); >> EntityManager em =3D emf.createEntityManager(); >> OrdersEntity order =3D em.find(OrdersEntity.class, .....); >> em.close(); >> System.out.println(order.getUser()); >> emf.close(); >> >> And it shows null. >> --=20 >> Best Regards >> Evgeny K. Shepelyuk > > _________________________________________________________________ > Gear up for Halo=AE 3 with free downloads and an exclusive offer. =20 > It=92s our way of saying thanks for using Windows Live=99. > http://gethalo3gear.com?ocid=3DSeptemberWLHalo3_WLHMTxt_2 --Apple-Mail-3-742862746--