用于多页表单的Hibernate二级缓存

时间:2016-03-31 23:24:01

标签: hibernate second-level-cache multiscreen

我有一个多页面表单,最终用户必须导航到多个屏幕,其中每个页面数据必须保存在DB中。我正在寻找缓存查询和结果,以便每当用户尝试在屏幕中来回导航时可以重复使用它们。 我正在尝试为此启用hibernate二级缓存并缓存结果和查询。 这是一个很好的做法。 如果不是推荐的话,想要摆脱这种方法。 有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我对申请的假设很少:

  1. 这看起来像一个向导类gui web应用程序,其中用户可以通过多个表单和用户在输入数据时来回导航。
  2. 此数据特定于用户。
  3. 鉴于此,我更愿意将此数据存储在HttpSessionConversation范围内(例如session scoped action forms or @ConverstaionScoped,具体取决于框架JSF / Struts ) etc rather than hibernate二级缓存

    原因是,

    1. 这是用户特定数据。在二级缓存中保持应用程序作为整体(不是特定于用户)经常访问的数据(热数据)导致避免DB往返和更好的性能。
    2. 由于它是用户特定数据,HttpSession是存储此数据的最佳位置,因为每个用户都与自己的HttpSession对象相关联。