Hi Jens,

unfortunately reloading currently does not work in aries. See https://issues.apache.org/jira/browse/ARIES-1270 .
I was not yet able to find where the problem is.

I am working on a separate code that might become the next major version of aries jpa. In this code reloading works. You can try for yourself if you want at: https://github.com/cschneider/jpa-experiments I am currently preparing for the OSGi tck runs to check we are compliant with the spec.

The new code base also has some other nice aspects. For example it tracks the DataSource or DataSourceFactory and only publishes the EMF once the DataSource is ready. In current aries the EMF would come up early and hibernate then blocks when it accesses the DataSource the first time until it is available.

Christian

Am 07.05.2015 um 06:27 schrieb Jens J Parappallil:

Thanks everyone for the responses . But to be a bit more specific how does hibernate deal with entity reloading ie ones a version of entity is registered and the session factory created how does it work when the entity class is modified/refreshed as part of a bundle update ?.

I definitely need to check on the latest version to see if altering the session factory or a corresponding unregister method like is present.

Thanks

Jens

*From:*Christian Schneider [mailto:[email protected]] *On Behalf Of *Christian Schneider
*Sent:* 07 May 2015 01:32
*To:* [email protected]
*Subject:* Re: Hibernate OSGi Integration

Hibernate works quite smothly in karaf 3. In my tutorial http://www.liquid-reality.de/x/C4DK I describe a complete example. As you can see it works almost without any quirks. The only special setup was to declare some special Import-Package statements in the model bundle to make load time weaving work. The data sources can now be declared using just a config file in etc using pax-jdbc including XA transaction wrapping and production level pooling.

Christian

Am 06.05.2015 um 15:48 schrieb Andrew Phillips:

    I have used Hibernate successfully (including Hibernate Search) in
    an OSGI / Karaf environment.

    If you have some specific questions, i’d be more than happy to help.

    I have found that Hibernate has some examples of OSGI
    implementation using Karaf.   Karaf has the “features” ability to
    add all the dependencies, in the right order, for the file you are
    using.  In fact, i think Karaf now has a built in “hibernate”
    feature, although i built my own features to fine tweak the
    dependencies and usage.   Once Hibernate is available as a service
    (and the configuration depends on either you are using native
    hibernate session factory or JPA entity manger), you can have your
    annotated entities classes in a different OSGI bundle and use them
    as any other bundle as you describe.

    The down side of the current OSGI hibernate setup (which is really
    just a “make it work” set up, and newer versions of Hibernate are
    promised to make it more OSGI like), is that you need to use the
    Hibernate.cfg or .xml file to configure that data source and
    register the entity classes.

    The examples described in
    http://docs.jboss.org/hibernate/orm/5.0/devguide/en-US/html/ch17.html do
    a good job getting you started.

    You can have your entities in a separate bundle if you wish or in
    the same bundle with your session factory singleton.

        On May 5, 2015, at 10:43 PM, Jens J Parappallil
        <[email protected]
        <mailto:[email protected]>> wrote:

        Hi,

        I am planning to integrate hibernate in my project, I have
        many bundles which has entity classes present ( and exported )
        . I am planning to have a core bundle which holds the
        hibernate session factory etc and manages the persistence stuff.

        I am thinking how this works out in an OSGi environment where
        the bundles ( having entity classes ) can come and go. The
        hibernate session factory is a singleton , to be created ones
        and used. Can it wok with annotated entities coming and going ?

        This is more of a hibernate question , but any of you guys
        have envisioned such a usage pattern and made it work ?

        Thanks

        Jens



        DISCLAIMER:"The information in this e-mail and any attachment
        is intended only for the person to whom it is addressed and
        may contain confidential and/or privileged material. If you
        have received this e-mail in error, kindly contact the sender
        and destroy all copies of the original communication. IBS
        makes no warranty, express or implied, nor guarantees the
        accuracy, adequacy or completeness of the information
        contained in this email or any attachment and is not liable
        for any errors, defects, omissions, viruses or for resultant
        loss or damage, if any, direct or indirect."



DISCLAIMER: "The information in this e-mail and any attachment is intended only for the person to whom it is addressed and may contain confidential and/or privileged material. If you have received this e-mail in error, kindly contact the sender and destroy all copies of the original communication. IBS makes no warranty, express or implied, nor guarantees the accuracy, adequacy or completeness of the information contained in this email or any attachment and is not liable for any errors, defects, omissions, viruses or for resultant loss or damage, if any, direct or indirect."

Reply via email to