【问题标题】:Help me to understand SEAM and Hibernate?帮助我了解 SEAM 和 Hibernate?
【发布时间】:2011-03-27 08:24:07
【问题描述】:

我想将 SEAM Framework 与 Hibernate 一起使用,但不想使用 EJB。我不能使用 EJB。

第一个问题是,我可以使用 EntityManager 吗?还是 EntityManager 是 EJB 的一部分?

我如何才能在我的 SEAM 组件中使用 Hibernate?

谢谢,菲利普

【问题讨论】:

    标签: hibernate seam ejb seam-conversation seam2


    【解决方案1】:

    使用 Seam,您可以使用 Hibernate 或 JPA (EntityManager)。它与 EJB 无关。如果你愿意,你可以使用普通的 POJO。

    我如何才能在我的 SEAM 组件中使用 Hibernate?

    这里是休眠设置WEB-INF/components.xml

    SessionFactory设置

    <persistence:hibernate-session-factory name="sessionFactory" cfg-resource-name="app.cfg.xml"/>
    

    app.cfg.xml 放置在 类路径的根目录

    会话设置

    <persistence:managed-hibernate-session name="session" hibernate-session-factory="#{sessionFactory}" auto-create="true"/>
    

    事务管理设置

    <!--It takes care of calling begin and commit in the underlying Transaction API-->
    <!--Here a Hibernate Transaction API-->
    <tx:hibernate-transaction session="#{session}"/>
    

    要注入 Hibernate Session,您可以使用

    /**
      * Seam lookup Seam enabled components Through its referenced name - session 
      */
    private @In Session session;
    

    请记住,Seam 可以与任何 MVC 框架一起使用,尽管它默认使用 Java Server Faces。如果需要,您甚至可以创建自己的 MVC 功能。看看JBoss Seam Tuto

    【讨论】:

    • @Phil 你可以使用任何你想要的持久化技术。不仅仅是 Hibernate 或 JPA
    【解决方案2】:

    Seam website 是一个很好的起点。有很多关于框架的文档。

    来自常见问题解答:

    Do I have to use EJB 3 to use Seam?

    首先,了解这一点很重要 EJB 3 包含会话 bean, 消息驱动 bean 和 Java 持久性 API。 Seam 满足所有人的需求 三种组件类型,使它们 更易于使用并提供有价值的 增强功能。但Seam有平行 支持非 EJB 编程 模型,最著名的是 JavaBeans 和 本机休眠。所以选择 使用什么取决于你。接缝的 最大的优势在于它提供 一个统一的架构跨越两个 EJB 和非 EJB 模型。这意味着 一旦你学会了如何使用它,你 自动知道如何使用 其他。

    【讨论】:

      【解决方案3】:

      获取 Hibernate Session 的另一种方法是使用 EntityManager 上的委托方法:

      Session session = (Session)entityManager.getDelegate();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-22
        • 1970-01-01
        • 1970-01-01
        • 2012-11-17
        • 1970-01-01
        • 2018-08-11
        • 2011-05-06
        • 1970-01-01
        相关资源
        最近更新 更多