JPA 中的连接
谁能告诉我,如果我定义了 jta-data-source,如何在 JPA 中获取事务?
问候,
萨蒂亚
Can anyone tell me how do I get transaction in JPA if I have defined jta-data-source?
Regards,
Satya
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于 JTA 数据源,在其连接上完成的工作是 JTA 事务的一部分。这意味着您必须启动并提交或回滚 JTA 事务。
最简单的方法是在会话 bean 中执行 JPA 工作:
在这种情况下,事务将在进入
doStuff()
方法时启动,并在离开该方法时结束。但是,如果您出于某种原因想要在其他类型的 bean(例如 JSF 托管 bean、Servlet、Servlet 过滤器等)中手动启动事务,则可以直接使用 API:
使用会话 bean 及其 so所谓的声明式事务几乎总是推荐的方法。
With a JTA data source, work done on its connections is part of a JTA transaction. This means you have to start and commit or rollback a JTA transaction.
The easiest way to do this is by doing the JPA work inside a session bean:
In this case the transaction will start when entering the
doStuff()
method and ends when leaving it.But if you, for some reason, want to start the transaction manually in some other type of bean (e.g. a JSF managed bean, a Servlet, Servlet filter, etc), you can use the API directly:
Using the session bean and its so called declarative transactions is nearly always the recommended approach.