users@glassfish.java.net

Re: what is actually happening in deployement?

From: Sahoo <Sahoo_at_Sun.COM>
Date: Wed, 13 May 2009 17:29:26 +0530

There are two entities involved here: container (or the application
server) and persistence provider. When user deploys an application to a
container, the container reads only persistence.xml file and in turn
calls the persistence provider for necessary JPA related deployment
activities like processing of ORM annotations, orm xml files, db schema
generation etc. JPA deployment is initiated using a standard SPI defined
by JPA spec. See chapter #7 (Container Provider Contracts for Deployment
and Bootstrapping) of JPA 1.0 spec. It is this SPI that makes it
possible for different providers to work in the same application server.
DB schema generation is done using a provider specific manner, as that
is not covered by the SPI.

I suggest you take a look at chapter #7 first. For implementation
details, you can start looking at PersistenceUnitLoaderImpl.java [1] and
then ask us questions. Once you visit that class, you can browse related
classes like PersistenceUnitDescriptor, PersistenceUnitInfo, etc.

Thanks,
Sahoo

glassfish_at_javadesktop.org wrote:
> Hi,
>
> I am trying to find out how the inner workings of deployment functions.. I would like to come to understand exactly what is going on with regards to
>
> [b]1. how are entitybeans are loaded?
>
> 2. how the entities get mapped with JPA, and how this functions in a generic manner so the it works with different JPA providers?
>
> 3. how and when the database scheme gets updated?[/b]
>
> Any help would be grateful, source to look at or any general direction.. i am current looking through glassfish source, however thought if one of you expert devs know it could save me a load of time..
>
> cheers,
>
> dixie.
> [Message sent by forum member 'newdixieland' (newdixieland)]
>
> http://forums.java.net/jive/thread.jspa?messageID=345882
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
>