0

我有一个使用休眠的项目,启动时间很长,我想知道是否可以序列化 EntitiyManagerFactory,因此只有第一次启动会很慢。

4

1 回答 1

2

可以在 hibernate 中序列化(在其他 JPA 实现中不一定是这种情况),因为 hibernate 内部接口扩展了Serializable. 但这是供内部使用的,可能由应用程序服务器能够以某种方式钝化它。

您的问题出在其他地方,不应通过序列化实体管理器工厂来解决。通常在启动时它会创建一个连接池并用新的数据库连接填充它。而且你不能序列化这些连接,所以如果你这样做,就会出现一大堆新问题。

相反,请确保数据库及时响应(如果没有 - 它正在减慢池的填充速度),以及您的启动是否真的那么慢。30 秒并不慢,5 分钟可能会很慢,具体取决于应用程序的大小。

于 2012-04-23T21:44:22.497 回答