gpt4 book ai didi

playframework - 有没有办法在游戏中使用 EntityManager !框架 1.2.x 404 页面?

转载 作者:行者123 更新时间:2023-12-04 05:50:03 28 4
gpt4 key购买 nike

我们提供自定义 404.html 页面(在 app/views/errors 中)供 Play ! 1.2.5

在服务 404 期间,我们想连接到数据库,但是这样做时我们得到:

play.exceptions.JPAException: The JPA context is not initialized. 
JPA Entity Manager automatically start when one or more classes annotated
with the @javax.persistence.Entity annotation are found in the application.
at play.db.jpa.JPA.get(JPA.java:22)
at play.db.jpa.JPA.em(JPA.java:51)
at play.db.jpa.JPQL.em(JPQL.java:18)
at play.db.jpa.JPQL.find(JPQL.java:46)
...
at controllers.Security.check(Security.java:146)
at play.utils.Java.invokeStaticOrParent(Java.java:162)
at play.utils.Java.invokeChildOrStatic(Java.java:184)
at controllers.Secure$Security.invoke(Secure.java:203)
...
at play.server.PlayHandler.serve404(PlayHandler.java:681)

我应该寻求像 https://stackoverflow.com/a/12242994/1444089 这样的解决方案吗? - 所以定义我自己的 Controller 处理程序而不仅仅是一个模板?

也许有一些配置选项,但找不到。

最后但并非最不重要的一点 - 为什么会发生这种情况,404 进入其他请求生命周期而不是典型的 Play 请求是否有原因?

最佳答案

您可以在 try/finally 中使用 JPAPlugin 方法 startTx 和 closeTx

JPAPlugin.startTx(false);
try {
// your code
} finally {
JPAPlugin.closeTx();
}

关于playframework - 有没有办法在游戏中使用 EntityManager !框架 1.2.x 404 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14193585/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com