问题标签 [toplink]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 Jetty 中配置 JPA 时遇到问题
我正在尝试将 JPA (Toplink) 配置为在从 maven 插件运行的 Jetty 中运行,并且得到一个 javax.naming.NameNotFoundException。具体情况。
网页.xml:
持久性.xml:
代码:
引用 emf 时出错:
java - 带有 TopLink 的 JPA:在类路径中找不到 META-INF/persistence.xml
尝试运行此类时出现异常
META-INF/persistence.xml 在我的类路径中。我不知道是什么原因或这个例外。
持久性库是 TopLink。
jpa - 删除一个实体,但删除后使用相同的主键添加相似的实体
我试图删除一个具有唯一 PK 的实体,例如:80253
我通过执行以下代码行来删除此实体:
这些代码实际上正确地从我的数据库及其所有级联对象中删除了行,对此我感到非常高兴。现在,当我现在需要创建一个使用相同主键的类似实体(现在应该消失了?)时,问题就出现了。
现在这是我得到唯一约束 SQL 错误的地方。我试图插入一个已经存在的 ID,并且更改会自动回滚(不再删除旧实体)。这发生在我在记录器中看到 toplink 已删除旧实体的记录之后。
有谁知道这是怎么发生的,为什么它不起作用?作为记录,我尝试合并、关闭、清除 entityManager,但似乎没有任何效果。
在我看来,JPA 可能会做一些糟糕的缓存或其他事情。我希望有人能给我一个好的答案!=)
更新:唯一 ID 约束不再存在问题,但我创建了一个具有相同主键的新子类,该主键已被删除,但出现以下异常:
在我看来,它不会让我将对象更改为不同的子类?
jakarta-ee - Richfaces 不必要地访问数据库
我有一个简单的 CRUD 项目,我正在使用 Richfaces 和 toplink。我注意到有些页面加载速度很慢,因此我将 toplink 的日志记录级别设置为 FINE。当加载我的页面时,我的页面在 Rich:datatable 中列出了我的所有课程对象,toplink 似乎正在运行相同的全选查询 9 次。当使用 rich:datascroller 移动到下一组 50 个项目或对列进行排序时,它再次运行相同的全选查询 18 次。
这是数据表:
我的控制器中由表调用的函数:
getCourses() 函数调用我的 bean 中的函数:
加载带有表格的页面时我的控制台输出:
java - JPA 嵌套选择左外连接
是否可以在 JPA QL 中进行嵌套选择?
我将如何在 JPA QL 中编写以下 SQL 语句?
JPA 实体PREFERENCES与PREFERENCESDISPLAY具有 OneToMany 关系。无论是否有PREFERENCESDISPLAY参考,我都想获得所有的PREFERENCES 。
java - Toplink IN 子查询
我有 2 个通过 oneToMany 关系关联的对象(“一个模型可以有很多事件”)。
我正在尝试在 ejbql 中创建一个子查询来查找一个事件的模型,如下所示:
....但 toplink 不识别模型别名并告诉我“内部异常:第 1:129 行:意外令牌:模型”
有任何想法吗 ?
非常感谢提前!
jpa - J2EE 中的 JPA/Toplink 实现使用哪个连接池?
我有 J2EE 应用程序,现在我正在使用 JPA/Toplink 我想实现外部或内部连接池......请帮助我弄清楚如何使用 JPA/TopLink 实现连接池......
java - Hibernate/Toplink 在 JPA 之上提供了什么?
据我所知,JPA 本身提供了所有闪亮的特性,如 ORM、JPQL、实体关系映射等。但我真的不明白,为什么人们在 JPA 之上使用 Hibernate 或 Toplink。
Hibernate 提供了哪些 JPA 本身没有的功能?
java - EJB3 处理原始 JDBC 错误
我使用默认的 TopLink 持久性管理器在 Glassfish 上使用 EJB3。在 Session Bean 中,当持久性管理器捕获 DB 异常时,它会将事务标记为回滚,并抛出 EJBException,进而包装 RollbackException。现在我期待能够从这些异常之一的异常中得到原始的 jdbc 异常,但事实并非如此。
检索原始异常很重要,因为我需要向用户报告问题所在,为此我需要分析 SQL 错误代码。
有谁知道是否可以从 Toplink 获得这些信息?或者 Hibernate 是否使它成为可能?
谢谢,
java - 在大约 110 个用户连续运行两天后,Java 服务器 cpu 使用率达到 100%
我有一个 tomcat 6.0.20,apr 1.2,jdk 1.6.0_15,mysql 5.1.38 在 4 GB ram 的 rhel 盒子上运行。上面有一个简单的 jsp/servlet 应用程序,有 5 个用户,一个 struts 1.2.0.9 有 64 个用户,一个 struts 2.0 应用程序有 35 个用户。struts 2.0 用户每秒输入一个条目,一天大约有 900 个条目。我还在最后两个应用程序中使用 toplink 进行持久性。我已在代码中将所有非引用对象声明为 null,并为来自 struts 2 站点和 tomcat 站点的配置文件应用了生产值。在mysql中应用线程缓存,将wait_timeout和interactive_timeout减少到相当于tomcat的会话超时。增加了linux中的文件描述符。重做查询。检查线程转储,查看 gc 统计信息,在此基础上应用上述更改,
YET 仍然面临“java.lang.OutOfMemoryError”错误。
在不同的时间它用于不同的事物,有时它的 Servlet.service(),有时它的 image.servlet,有时它导致它的 jasper。
非常令人沮丧,因为错误不是恒定的,而是随着时间的推移不断变化
任何帮助,将不胜感激!!!
JAVA_OPTS=-server -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+CMSParallelRemarkEnabled (tomcat manager 报告 34 mb empty 所以没有使用 permsize, mx 和 mn 等)
持久性.xml
服务器.xml
上下文.xml