Hi Tim and Tom
Thanks for the replies. I see "batch reading" and do not find anything about on "batch updating" or "batch writing" in the wiki search. Can you help me with that?
Thanks
Kris
f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng
--- On Wed, 1/21/09, Tim Hollosy <hollosyt@xxxxxxxxx> wrote:
From: Tim Hollosy <hollosyt@xxxxxxxxx> Subject: Re: [eclipselink-users] Error writing collection of entities to the database To: krisusa123@xxxxxxxxx, "EclipseLink User Discussions" <eclipselink-users@xxxxxxxxxxx> Date: Wednesday, January 21, 2009, 12:29 PM
Yes, it's called batch updating. Check the wiki.
./tch
On Wed, Jan 21, 2009 at 11:43 AM, krisusa123 <krisusa123@xxxxxxxxx>
wrote:
> Hi Tom
> Thanks for the reply. But, thats too much of I/O where it commits row by
row
> rather than commiting a collection. I do understand that it needs to check
> referential integrity and database constraints.
>
> Is there any way out of this?
>
> Thanks
> kris
>
> f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng
>
> --- On Wed, 1/21/09, Tom Ware <tom.ware@xxxxxxxxxx> wrote:
>
> From: Tom Ware <tom.ware@xxxxxxxxxx>
> Subject: Re: [eclipselink-users] Error writing collection of entities to
the
> database
> To: krisusa123@xxxxxxxxx, "EclipseLink User Discussions"
> <eclipselink-users@xxxxxxxxxxx>
> Date: Wednesday, January 21, 2009, 7:53 AM
>
> Hi Kris,
>
> The code that uses UnitOfWork is not JPA code. UnitOfWork is an
> EclipseLink
> class and not necessary when using pure JPA. Is there any particular
reason
> you
> have written that code?
>
> The rest of the code uses JPA APIs.
>
> The problem you are seeing is because you are trying to persist your
array
> of
> TestEtl as a whole instead of individually. You can only call persist on
> classes that are persistent. List is not a persistent class. The classes
> stored in your list are the classes you want to persist.
>
> You should write code that iterates through your list and persists each
> element individually.
>
> -Tom
>
> krisusa123 wrote:
>> Hello Guys
>> Now I have a new problem with my pure JPA implementation.
>> I am trying to commit a collection (ArrayList of entity objects)
rather
> than an entity object and here is the error I am getting. Can I do this or
> is it
> wrong?
>> Code also attached below.
>> Appreciate your help.
>> Exception in thread "main"
> _java.lang.IllegalArgumentException_: Object:
> [com..entities.TestEtl@1da669c,
> com.entities.TestEtl@186c730 <mailto:com.entities.TestEtl@186c730>,
> com.entities.TestEtl@17f242c <mailto:com.entities.TestEtl@17f242c>]
is not
> a known entity type.
>> * *
>> *public* *static* *boolean* saveData(EntityManagerFactory emf,
> List<xx> Beans ) {
>>
>> EntityManager entityManager = emf.createEntityManager();
>>
>> UnitOfWork uow = ((EntityManagerImpl) entityManager).getUnitOfWork();
>>
>> List<TestEtl> lm = *new* ArrayList<TestEtl>();
>>
>> uow.registerAllObjects(lm);
>> * *
>>
>> *try* {
>>
>> *for* (*int* i=0; i< Beans.size(); i++) {
>>
>> TestEtl load = *new* TestEtl();
>>
>> load.setCol1(Beans.get(i).getCol1());
>>
>> load.setCol2(Beans.get(i).getCol2());
>> lm.add(load);
>>
>> } *catch* (Exception e) {
>>
>> System./out/.println( "Error::" + e);
>>
>> *return* *false*;
>>
>> } *finally* {
>>
>> entityManager.persist(lm);
>>
>> uow.commit();
>>
>> entityManager.close();
>>
>> emf.close();
>> }**
>>
>> *return* *true*;
>>
>> }
>>
>> f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng
>>
>> --- On *Tue, 1/20/09, krisusa123 /<krisusa123@xxxxxxxxx>/*
wrote:
>>
>> From: krisusa123 <krisusa123@xxxxxxxxx>
>> Subject: Re: [eclipselink-users] How to create EclipseLink
Sessions,
>> ORM.xml files in J2SE environment
>> To: "EclipseLink User Discussions"
> <eclipselink-users@xxxxxxxxxxx>
>> Date: Tuesday, January 20, 2009, 10:11 AM
>>
>> Hi Tim
>> What you said was pretty much true until yesterday. I had got
>> confused between pure JPA solution and EclipseLink specific
>> implementation.
>> But now, I have got the pure JPA solution working. Thanks to
you
> for
>> helping me finish that part.
>> Then I started trying to accomplish the same thing using
> EclipseLink
>> only API by using sessions.xml and stuff.
>> I am trying to understand how to get the second one
(EclipseLink
>> specific one) working. Thats where I got this exception:
>> Exception Description: Missing descriptor for [class
> com.xx.TestEtl].
>> Verify that the descriptor has been properly registered with the
>> Session.
>>
>>
>> f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng
>>
>> --- On *Tue, 1/20/09, Tim Hollosy /<hollosyt@xxxxxxxxx>/*
wrote:
>>
>> From: Tim Hollosy <hollosyt@xxxxxxxxx>
>> Subject: Re: [eclipselink-users] How to create EclipseLink
>> Sessions, ORM.xml files in J2SE environment
>> To: "EclipseLink User Discussions"
> <eclipselink-users@xxxxxxxxxxx>
>> Date: Tuesday, January 20, 2009, 9:27 AM
>>
>> Also be aware, the example on my blog uses a pure JPA approach
>> (mostly) the only native class I use is UnitOfWork. I think
Kris
> is
>> kind of confused between the two. But just bare in mind, if
> you're
>> following my example/my code make sure you realize you're
> working in a
>> Pure JPA environment.
>>
>> ./tch
>>
>>
>>
>> On Tue, Jan 20, 2009 at 9:06 AM, Tom Ware
> <tom.ware@xxxxxxxxxx> wrote:
>> > Hi Kris,
>> >
>> > This error generally occurs because for some reason the
> metadata for your
>> > TestEtl class is not available to EclipseLink and you are
> treating it as
>> > persistent.
>> >
>> > Depending on how you are configured, the metadata can
come
> from different
>> > places.
>> >
>> > If you are using a pure JPA solution, it will be derived
> from
>> Annotations,
>> > orm.xml and your persistence.xml file.
>> >
>> > If you are using the EclipseLink-proprietary APIs, it
will
> be derived
>> from
>> > your sessions.xml and from either your project class or
your
> deployment
>> > xml(generated with the EclipseLink Mapping Workbench)
>> >
>> > Perhaps you can explain a little more about which of
these
> files you are
>> > using and what you are doing when you see the error.
>> >
>> > -Tom
>> >
>> > krisUSA123 wrote:
>> >>
>> >> Based on EclipseTeam's suggestions, I was able to
> create
>> sessions.xml file
>> >> and was trying to create a CRUD operation.
>> >> May I know what this error means:
>> >>
>> >> Exception Description: Missing descriptor for [class
> com.xx.TestEtl].
>> >> Verify that the descriptor has been properly
registered
> with the
>> Session.
>> >>
>> >> How do I fix it?
>> >>
>> >> Appreciate your help.
>> >> Thanks guys for being responsive to my earlier post.
>> >>
>> >> Thanks
>> >> Kris
>> >
>> > _______________________________________________
>> > eclipselink-users mailing list
>> > eclipselink-users@xxxxxxxxxxx
>> >
https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>> >
>> _______________________________________________
>> eclipselink-users mailing list
>> eclipselink-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>
>>
>> _______________________________________________
>> eclipselink-users mailing list
>> eclipselink-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>
>>
>>
>>
------------------------------------------------------------------------
>>
>> _______________________________________________
>> eclipselink-users mailing list
>> eclipselink-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>
>
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>
>
|