Java Hibernate会话实践
我正在处理一个任务,其中应用程序使用数据库中的一些配置。配置存储在java持久对象中。在服务器启动时,将创建Hibernate会话,并使用惰性加载选项将所有配置数据加载到对象中。并发用户请求使用相同的对象 配置数据的结构: 工作流程: 因为。人是一个休眠实体。java持久化obj 在服务器启动时,通过hibernate get list调用加载person对象。只初始化了一个sessionfactory和会话。道只有一个电话 在后续的服务器请求中,将访问person对象的属性 一般来说,我不确定这个设置如何处理多个并行服务器请求 1保持会议长时间开放;这会引起什么问题吗? 这是一个好的做法吗?我理解每次CRUD操作后都应该关闭会话。但具体来说,对于上述工作流,什么才是正确的方法。 3多个服务器请求能否访问同一个持久实体?只接电话Java Hibernate会话实践,java,performance,hibernate,hibernate-session,Java,Performance,Hibernate,Hibernate Session,我正在处理一个任务,其中应用程序使用数据库中的一些配置。配置存储在java持久对象中。在服务器启动时,将创建Hibernate会话,并使用惰性加载选项将所有配置数据加载到对象中。并发用户请求使用相同的对象 配置数据的结构: 工作流程: 因为。人是一个休眠实体。java持久化obj 在服务器启动时,通过hibernate get list调用加载person对象。只初始化了一个sessionfactory和会话。道只有一个电话 在后续的服务器请求中,将访问person对象的属性 一般来说,我不确
寻找一些指导和帮助。与设计和性能相关的任何输入。那么,您将用户和配置存储在数据库中,但它们永远不会被修改或删除?它们完全是只读的?而且它们太少了,你可以永远记住它们吗?@JB,是的。但它不是用户的信息。是UI上问题的配置数据。每个问题jsp元素都有答案列表,每个答案可能有问题组,也可能没有问题组。问题组指向与该答案相关联的问题列表。大约有1000个问题、250个答案和250个小组。并非所有问题都有答案。@JBNizet我可以在需要时调用db,但我不确定UI的性能。用户在UI上的每一个操作都会触发下一组在UI上可见的问题,并且应该在1~2秒内完成。我个人认为,在服务器启动时加载所有内容并缓存信息是过早的优化,这将弊大于利,并且当您拥有的实体超过少数时,会使事情变得更加复杂。做最简单的事情,避免缓存,每个请求使用一个会话,并在需要时加载所需内容。由于实体太少,加载它们应该非常快。数据库擅长查询和加载数据。它们有自己的缓存。1-2秒是永恒的。从数据库中加载所需内容的时间不应超过几毫秒。@jbnize非常感谢您的想法。我将为db调用实现它。并将相应地更新线程。db调用的另一个问题是,每当任何用户打开UI进行创建、编辑或查看时,都会有大约1000个调用。