远程接缝持久性

发布于 2024-07-22 14:22:16 字数 355 浏览 4 评论 0原文

我在 .xhtml 文件中有一个按钮,它调用一个 javascript 函数,该函数远程调用一个 java 函数(在 jboss seam 环境中)。 该java函数有一个entityManager.persist(object)。 你知道为什么这行代码不提交到数据库吗? 它表示交易尚未开始。 我想在远程上下文中我没有开始事务,因为如果我在调用相同 java 函数而不是使用上面的 javascript 的按钮上放置一个操作,它就可以正常工作; entityManager 保留该对象,我可以在数据库中看到它。

有谁知道我如何使用 javascript 调用 java 函数来实际持久化对象? (我必须使用javascript,因为我需要回调函数)

I have a button in a .xhtml file which calls a javascript function which calls a java function remotely (in jboss seam environment). That java function has an entityManager.persist(object). Do you know why this line of code doesn't commit to the DB?
It says something that a transaction hasn't started. I supose in a remote context i don't have a transaction began because if i put an action on that button which calls the same java function instead of using javascript is above, it works fine; entityManager persists the object and i can see it in the DB.

Does anyone has any ideas how could i make to actually persist the object using javascript to call the java function? (i have to use javascript because i need the callback function )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

留一抹残留的笑 2024-07-29 14:22:16

为了确保事务,您可以扩展 org.jboss.seam.util.Work:

new Work()
{
    @Override
    protected Object work() throws Exception {
        // do your stuff
        return null;  
    }
}.workInTransaction()

To ensure a transaction You could extend org.jboss.seam.util.Work:

new Work()
{
    @Override
    protected Object work() throws Exception {
        // do your stuff
        return null;  
    }
}.workInTransaction()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文