问题标签 [eclipselink]

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.

0 投票
1 回答
1718 浏览

java - javase项目中的Eclipselink问题

运行 eclipselink 项目时出现此错误。

有任何想法吗?为什么eclipselink需要来自jboss的东西?我需要什么 jboss jar。我会使用 open jpa,但由于某种原因,在我的应用程序中退出一些持续存在后,它开始给出一堆 stackoverflow 错误。

0 投票
11 回答
5585 浏览

java - Hibernate 或 TopLink 的替代方案?

Hibernate 是否有可行的替代方案?最好是不基于 JPA 的东西。

我们的问题是我们正在构建一个复杂的(例如,许多对象相互引用)有状态的 RIA 系统。似乎 Hibernate 被设计为主要用于一次性应用程序 - JSF 等。

问题主要是延迟加载。由于在初始化和实际加载惰性集合之间可能有多个 HTTP 请求,因此每个事务的会话是不可能的。一个长期存在的会话(每个应用程序一个)也不能很好地工作,因为一旦事务遇到障碍并引发异常,整个会话就会失效,因此延迟加载的对象会中断。然后有各种各样的东西对我们不起作用(比如隐式数据持久化来自初始化事务之外的数据)。

撇开我拙劣的解释不谈,最重要的是 Hibernate 做了我们不喜欢的魔法。似乎 TopLink 也好不到哪里去,它也是在 EJB 之上编写的。

因此,无状态持久层(甚至是足够亮的面向对象的数据库抽象层)是我们最需要的。

有什么想法,还是我在要求一些不存在的东西?

编辑:我为我模棱两可的术语感到抱歉,感谢大家的更正和有见地的回答。那些纠正我的人,你们都是正确的,我的意思是JPA,而不是EJB。

0 投票
2 回答
2331 浏览

java - Hibernate 相当于 EclipseLink 的批量查询提示?

我喜欢EclipseLink的一件事是有一个很棒的东西,称为批处理查询提示,我还没有找到与之对应的 Hibernate。

基本上,做一大堆连接会很快变得一团糟,你最终查询的数据比你想要的要多(请记住,如果你将人员连接到 6 个地址,则人员信息将返回 6 次;现在继续将其乘以额外的连接) .

想象一个 Person 实体,它具有 0:M 的 Address、Email、Phone 和 OrderHistory 集合。加入所有不好但使用批处理方法:

这将对 Person 表进行查询,仅此而已。当您第一次访问地址记录时,它将对整个地址表进行一次查询。如果您在 Person 表上指定了 where 子句,则同样的条件也将用于 Address 加载。

所以不是做 1 个查询,而是做 5 个。

如果您使用连接来执行此操作,您可能会在一个查询中获得所有信息,但由于连接,您很可能会加载更多数据。

无论如何,我已经在 Hibernate 文档中寻找与此等效的文档,但没有看到。有吗?

0 投票
1 回答
3423 浏览

oracle - TopLink Essentials 和 EclipseLink 有什么区别

TopLink Essentials 和 EclipseLink 都源自 Oracle 有什么区别?

0 投票
3 回答
6690 浏览

java - 如何在 EclipseLink 中配置查询缓存

我有一组状态,我想在应用程序的生命周期内缓存它们,最好是在第一次调用它之后。我使用 EclipseLink 作为我的持久性提供程序。在我的 EJB3 实体中,我有以下代码:

不过,这似乎没有任何作用,如果我监控到 MySQL 的 SQL 查询,它仍然会在每次我的会话 Bean 使用这个 NamedQuery 时进行选择。

配置此查询的正确方法是什么,以便它只从数据库中读取一次,最好是在所有会话中读取?

编辑:我这样调用查询:

0 投票
1 回答
1751 浏览

glassfish - Glassfish Eclipselink 加入获取提示不起作用

我很难让 eclipselink.join-fetch 提示在 glassfish 中工作。

我有一个包含 Task 对象集合的 Client 对象,并且 Task 对象具有 WorkPeriod 对象的集合。

我的代码如下所示:

但无论我将 TOPLINK 调试级别设置为精细时做什么,它总是显示实际运行的 SQL 是:

显然没有做第三层的join fetch。

有没有其他人有这个问题......或者只是我:-(

任何帮助或提示(没有双关语)将不胜感激。

0 投票
1 回答
182 浏览

jakarta-ee - 是否可以通过不同的 EJB 模块进行 EJB 继承?

是否有可能拥有一个从另一个 ejb 模块的另一个(抽象)实体类继承的实体类?

例如 EclipseLink 不会在子类的数据库表中创建依赖列。它只是忽略了(抽象的)超类实体。

0 投票
1 回答
6418 浏览

java - 为什么 EclipseLink 查询缓存仅在我使用 query.getSingleResult() 时有效?

我的实体有一个命名查询,如下所示:

在我的代码中,我想设置查询缓存提示:

如果我尝试获取整个结果列表:

EclipseLink 抛出异常:

如果我试图只得到一个结果,它会起作用:

如果我删除查询提示,那么 getResultList() 也可以工作。

我不明白这个例外 - 不是说它特别期待 getResultList() 吗?我究竟做错了什么?

0 投票
4 回答
5188 浏览

hibernate - 陷阱和实际用例:Toplink、Hibernate、Eclipse Link、Ibatis

我用 Hibernate 作为我的 JPA 实现做了很多工作。在大多数情况下,它工作正常!但我也看到了很多陷阱:

  • 使用持久对象进行远程处理很困难,因为 Hibernate 用自己的集合实现替换了 Java 集合。所以每个客户端都必须有 Hibernate .jar 库。您必须注意 LazyLoading 异常等。解决此问题的一种方法是使用 Web 服务。
  • 对数据库进行不带任何锁定的脏检查。
  • “延迟 SQL”,导致数据访问不符合 ACID。(丢失的数据...)
  • 隐式更新>>所以我们不知道对象是否被修改(提交导致更新)。

Toplink、Eclipse Link 和 Ibatis 是否存在类似问题?我应该什么时候使用它们?他们有类似的表现吗?是否有理由选择 Eclipse Link/Toplink... 而不是 Hibernate?

0 投票
1 回答
698 浏览

java - 如何将 @BasicMap 用于键值为实体的 HashMap

对于键值为实体且值为整数的地图,我应该如何使用 EclipseLink 的 @BasicMap 注释?