[hibernate-dev] Serializable SessionFactory

Steve Ebersole steve at hibernate.org
Thu Jan 11 07:39:24 EST 2018


I just don't see how serializing a full SessionFactory to disk is a good
idea.

What do you mean by "avoiding (caching) the DB metadata retrieving the
part"?

On Thu, Jan 11, 2018 at 2:08 AM Vlad Mihalcea <mihalcea.vlad at gmail.com>
wrote:

> Yes, out of the JVM. This PR allows the SF to be serialized to a file, so
> the next time we bootstrap, we reload the whole SF from the file instead.
>
> There are many unforeseen issues probably related to this PR and it might
> hurt maintenance in the long-run.
>
> For this reason, I'm going to leave the PR open as-is, and investigate
> whether we can bootstrap faster by avoiding (cacahing) the DB metadata
> retrieving the part.
>
> Vlad
>
> On Wed, Jan 10, 2018 at 7:45 PM, Steve Ebersole <steve at hibernate.org>
> wrote:
>
>> The SessionFactory being Serialized outside the VM?  Because otherwise it
>> is already "serializable" via VM serialization hooks
>> and org.hibernate.internal.SessionFactoryRegistry.  And I'm not so
>> convinced we should support serializing it for "out of" VM use aside from
>> what we already do which assumes the new target VM has a similarly named
>> SessionFactory in its org.hibernate.internal.SessionFactoryRegistry.
>>
>> On Wed, Jan 10, 2018 at 11:20 AM Vlad Mihalcea <mihalcea.vlad at gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> While reviewing old PRs we have in the ORM project, I stumbled on this
>>> one
>>> about serializing the SessionFactory.
>>>
>>> I created a new PR, rebased on top of the current master branch and all
>>> tests are passing fine.
>>>
>>> If anyone wants to take a look, this is the PR:
>>>
>>> https://github.com/hibernate/hibernate-orm/pull/2107
>>>
>>> I'm thinking we should integrate it in 5.3.Alpha and stabilize it if
>>> there
>>> are some unforeseen changes.
>>>
>>> The only drawback is that, if we allow the SF to be Serializable,
>>> upgrading
>>> will be much more difficult in case we change object structure.
>>> We could make it clear that this might not be supported or use the
>>> serialVersionUID to point to Hibernate version: major.minor.patch.
>>>
>>> The main benefit is that, for a microservices architecture, Hibernate
>>> could
>>> start much faster this way.
>>>
>>> Vlad
>>> _______________________________________________
>>> hibernate-dev mailing list
>>> hibernate-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>>
>>
>


More information about the hibernate-dev mailing list