persistence@glassfish.java.net

Re: What is the use of oracle.toplink.essentials.PersistenceProvider.class?

From: Sanjeeb Kumar Sahoo <Sanjeeb.Sahoo_at_Sun.COM>
Date: Fri, 11 Aug 2006 09:49:52 +0530

June,

No, don't confuse the new class with TopLink persistence provider in
GlassFish environment. As per the explanation found in the mail below, a
new provider class called
*oracle.toplink.essentials.PersistenceProvider* was introduced because
it is easy to remember than the old provider class called
*oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider* . *The
new and old provider classes are and will continue to be functionally
equivalent*, i.e. they both are and will be TopLink Essential
persistence providers when used in GlassFish. Although this was done
back in 04/11/2006, GlassFish container team did *not* know about this.
So we continued to use the old name in all our documentation, code,
examples etc.

If you want, you can document this fact. Should this be documented? Will
it cause unnecessary confusion? Is FAQ a better place to have this
information? I don't have any preference.

I don't know what is the class name for TopLink persistence provider.
Does anybody know? To use TopLink, user has to change the provider class
and install TopLink binaries in GlassFish like they do for so many other
providers. It will be interesting to test co-existence of TopLink and
TopLink Essential in the same GlassFish environment. Has anybody done this?

Thanks,
Sahoo

Rebecca Parks wrote:
> I'm guessing that users would only have to reference
> oracle.toplink.essentials.PersistenceProvider in persistence.xml if
> their App Server admin changed the default provider and they wanted to
> use TopLink for a specific application.
>
> June
>
> Craig L Russell wrote On 08/04/06 06:12 PM,:
>
>> Personally, I like your idea of using an easy-to-remember name like
>> oracle.toplink.essentials.PersistenceProvider as an "alias" for the
>> actual implementation class.
>>
>> Kudos.
>>
>> Craig
>>
>> On Aug 4, 2006, at 7:10 AM, Tom Ware wrote:
>>
>>> Gordon is correct. The
>>> oracle.toplink.essentials.PersistenceProvider class is intended to
>>> provide a more intuitive way of specifying the persistence
>>> provider. I expect both
>>> oracle.toplink.essentials.PersistenceProvider and
>>> oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider to
>>> continue working indefinitely.
>>>
>>> -Tom
>>>
>>> Gordon Yorke wrote:
>>>
>>>> Not speaking for Tom but we wanted a 'better' name for the public
>>>> PersistenceProvider class that would be referenced by users.
>>>> Think of it as a simple public wrapper.
>>>> --Gordon
>>>>
>>>> -----Original Message-----
>>>> *From:* Sanjeeb.Sahoo_at_Sun.COM [mailto:Sanjeeb.Sahoo_at_Sun.COM]*On
>>>> Behalf Of *Sanjeeb Kumar Sahoo
>>>> *Sent:* Friday, August 04, 2006 2:41 AM
>>>> *To:* persistence_at_glassfish.dev.java.net
>>>> *Subject:* What is the use of
>>>> oracle.toplink.essentials.PersistenceProvider.class?
>>>>
>>>> Hi Tom,
>>>>
>>>> What is the use of
>>>> oracle.toplink.essentials.PersistenceProvider.class which is just
>>>> an empty class as shown below:
>>>>
>>>> /package oracle.toplink.essentials;
>>>>
>>>> import
>>>> oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider;
>>>>
>>>> /**
>>>> * This is the TopLink EJB 3.0 provider
>>>> */
>>>> public class PersistenceProvider extends
>>>> EntityManagerFactoryProvider {
>>>>
>>>> }
>>>>
>>>> /We in GlassFish use
>>>>
>>>> oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider as
>>>> the persistence provider. Is there a potential mismatch here?
>>>>
>>>> Thanks,
>>>> Sahoo
>>>>
>>
>> Craig Russell
>> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
>> 408 276-5638 mailto:Craig.Russell_at_sun.com
>> P.S. A good JDO? O, Gasp!
>>