问题标签 [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.
google-app-engine - 我可以将 JPA 2.0 与 Google App Engine 一起使用吗?
我可以将 JPA 2.0(例如 EclipseLink)与 Google App Engine 一起使用吗?
jpa - JPA Eclipselink:如何找到导致错误的关系
尝试持久化对象时出现以下错误:
java.lang.IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST
有什么简单的方法可以判断哪个关系有问题对象?
持久化对象可能有许多关系,并且反复试验或通过消除找到工作,但我想知道是否有更简单更快的方法来识别问题关系对象。
更新:我定期遇到这个问题,并且我一直能够找到问题的根源,或者能够重新排序操作以解决问题,但我的问题是查找所需的时间冒犯的对象。
我的解决方案总是通过反复试验找到的。我有时会在几分钟内找到解决方案,但有时需要几个小时。我的问题是:有没有更简单的方法来找出可能是许多关系中的哪一个导致了问题。该例外仅声称通过“关系”找到了“新对象”,这无助于我找到哪个对象或哪个关系。是否有日志或方法告诉系统提供更具体的错误?
jpa - 为什么 EclipseLink 为联合继承策略添加鉴别器列?
我正在使用 EclipseLink JPA 实现的 JOINED 继承策略。我注意到 EclipseLink 正在将默认 DTYPE 命名的鉴别器列添加到数据库模式中。我知道,一个表继承策略需要鉴别器,但为什么要加入策略呢?
EclipseLink 需要这个专栏,因为我在删除它后遇到了错误。是否出于性能原因等原因添加了此列?我对此并不特别高兴,因为从数据库模式的角度来看,这个专栏只是不必要的混乱。
基于 Hibernate 的 JPA 不做任何类似的事情。
java - JPA 和 PostgreSQL
我在一个使用 JPA 的 EclipseLink 实现与 PostgreSQL 数据库对话的项目中。我有一个任务,PostgreSQL NOTIFY/LISTEN 似乎非常适合。不幸的是,我是一个 JPA 新手,并且正在努力弄清楚如何使它工作。所以我想我真的有两个问题;回答任何一个都会让我开心。
1) 对我来说,获得与数据库的直接 JDBC 连接的最佳方式是什么?(我真诚地希望证明是类型org.postgresql.PGConnection
。)
或者
2) 我org.postgresql.PGConnection.getNotifications()
通过 EclipseLink JPA 模拟/访问的最佳方式是什么?
非常感谢您的帮助。
编辑: 两个可行的解决方案!我喜欢这个网站。如果有人在我分发复选标记之前对隐藏的陷阱/好处有什么要说的,这将使 Pascal 或 Balus 的解决方案比另一个更好,我想听听。
java - 在加载时验证 JPA 列映射
当前项目最近对数据库模式进行了一系列更改。这些主要是样式清理,例如确保所有列都遵循一致的命名模式并且是 all_in_snake_case 。
我相信我们在数据库和实体中都获得了所有列引用,是否可以让 JPA、EclipseLink 或 GlassFish 执行某种“验证所有”操作以确保每个实体列存在并匹配?
java - 持久化列表时无法创建唯一的字符串表
假设我有一个实体:
我正在使用 EclipseLink(JPA 2.0)。
此 List 中的字符串在许多 AnEntity 对象中可能具有相同的值。也就是说,许多 AnEntity 对象可能引用相同的字符串。
问题是@ElementCollection 提供的默认映射在字符串表(ANENTITY_STRINGS)中留下了许多重复项。如何映射它,以便在保存字符串列表时,唯一地保存值,以便我没有大量重复字符串表?
我应该补充一点,我已经尝试使用“占位符”类,它有一个成员是字符串。不幸的是,这样做会使关联表中的数据完全不可读,我确信它会被保存为 blob 或 lob。所以,例如我做了这样的事情,而不是使用列表:
然后我的实体看起来像:
但正如我所说,这只是将字节放入 ANENTITY_STRINGS。我无法想象这是一种“正确”的方式来做到这一点。
jpa - 在 EclipseLink 1.1 中构建 Where-In 子句的最佳实践
我在一个使用 EclipseLink 1.1 的项目中,我有一个查询,我要做的显而易见的事情是使用 Where-In 子句,如下所示:
当然,这是一批新鲜酿造的 FAIL,在运行时会像这样对我发牢骚:
java.lang.IllegalArgumentException: You have attempted to set a value of type class java.util.ArrayList for parameter things with expected type of class java.lang.String from query string ....
谷歌搜索表明 EclipseLink 1.1 根本不支持将列表转储到这样的参数中;很公平。人们会如何建议解决这个缺陷?
java - 应该如何处理 javax.persistence.OptimisticLockException?
我是 JPA 的新手,如果不清楚,请原谅我。
基本上我想通过使用乐观锁定来防止并发修改。我已将 @Version 属性添加到我的实体类中。
我需要知道这个处理 OptimisticLockException 的算法是否合理。我将像这样使用Execute Around Idiom:
我的问题是您如何决定何时停止重试?
java - JPA PreUpdate 使用在查找/选择后调用的 DescriptorEventAdapter 实现
我已经为 JPA (eclipselink) 实现了 DescriptorEventAdapter。它执行简单的时间戳操作。正在调用 preUpdate 方法,但是它被调用得太频繁了。它被调用并更新时间戳,即使在查找/选择操作中也是如此。
我遇到的问题似乎也发生在不同的 JPA 框架中, http://markmail.org/message/nank44rgp4xi2ita#query:JPA%20preupdate%20being%20called%20after%20find+page:1+mid: xssqpg7hm4mesfl5 +状态:结果。
我试图:
- 检查 DescriptorEvent 上的 ChangeSet,这始终为空
- 检查 DescriptorEvent 上的代码,这始终是 6
我无法找到任何其他标志或属性显示“此对象确实已更新”。
我如何让 preUpdate 仅在记录确实被更新而不仅仅是被选中时才起作用?
java - 以编程方式检查类是否具有有效 JPA 定义的最简单方法
我正在使用许多带有注释javax.persistence.Entity
等的类。我的项目是关于生成关于 JPA 注释类的元数据而不是自身的持久性,所以我将它们用作测试用例。
我不想启动 Hibernate 或其他一些 JPA 提供程序,而是想以编程方式检查 - 我的单元测试的一部分 - 我的 JPA 声明确实有效。
最简单的方法是什么?