问题标签 [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.

0 投票
1 回答
1243 浏览

java - query.setMaxResults() 导致 toplink 出现问题

我正在使用 JPA (toplink) 并试图限制 JPQL 查询返回的行数,所以我使用Query.setMaxResults了方法,但它会引发以下错误:

这是查询:

0 投票
1 回答
491 浏览

substring - toplink 中 JPA 中的字符串函数 (OAS 10.1.3.n)

我正在尝试以下查询:

再次与 Oracle 应用服务器 10.1.3.3 捆绑的 toplink 但我收到一条错误消息:

SUBSTRING token not recognized

问题是,toplink 10.1.3.n 不支持字符串函数吗?(我确定它是JPA1.0,不是吗?根据v1.0规范,应该支持SUBSTRING,那么为什么toplink 10.1.3.n不包含它?

谢谢。

0 投票
1 回答
1363 浏览

java - 为什么不能使用 JPA TopLink 注释加入第三个表?

我有简单的 3 张桌子:

  • 用户可以有多个地址
  • 地址可以有很多电话

因此,应用于每个实体类的注释看起来像:

用户

地址

电话

上面的注释应该创建关系:

然后我在 MySQL 中创建了一些测试数据并尝试运行测试以查看返回“用户”的查询结果是否包含对地址和电话的引用。

我已经尝试仅使用用户和地址使用 2 个表,结果还可以。

现在我添加了第三个表的“电话”表,然后我收到如下所示的错误。这真的是加入 3 个或更多表的正确方法吗?

测试代码

错误

0 投票
3 回答
1783 浏览

java - 是否可以在 JPA toplink 中进行列级乐观锁定?

optimistic locking在 JPA 中研究过,@Version annotation在 DB 中添加了版本列以及它是如何由EntityManageretc管理的

文档说(用我自己的话)乐观锁在对象级别是有效的。我可以说确实如此,因为版本定义位于实体类中。

这表示:

  1. userA 选择 row_A (只是 db 表中的一行)

  2. 用户 B 选择 row_A

  3. userA 更新用户名列的 row_A (此处版本更改)

  4. userB 更新用户名列的 row_A(抛出 optimisticLockException)

到现在为止还挺好。

但是在第4步考虑,如果

userB update row_A of phoneNumber例如。

我知道仍然会抛出optimisticLockException,但是有没有办法按列级别而不是对象级别锁定?

对我来说,拥有列级锁会很好,但我也不确定这会带来什么缺点,即使它是可能的。

0 投票
2 回答
1018 浏览

java - 无法在 GlassFish 中更改 TopLink 日志记录级别

在 GlassFish 2.1 环境中,我正在尝试提高 TopLink 的日志记录级别...以查看正在生成的原始 SQL。在 GlassFish 管理控制台中,我转到:

TopLink 的日志记录级别由“持久性”下拉菜单确定。要将生成的 SQL 转储到日志中,请将级别从“SEVERE”提高到“FINE”(或更高)。

我以前在多个其他 GlassFish 盒子上做过这个。但是,在此框中,单击“保存”按钮后,该值始终会恢复为“严重”。管理控制台中没有错误消息,并且我找不到任何记录......新值根本不存在。

真正令人困惑的是,我可以成功更新系统中每个其他类别的日志记录级别(例如“JMS”、“JTA”等)。该问题特定于“持久性”类别。

以前有人遇到过这个问题吗?任何想法将不胜感激。

0 投票
1 回答
756 浏览

jpa - 更新操作时使用 TL_ 为表添加前缀

我在 JPA (toplink) 上有非常简单的命名查询:

我不涉及缓存或已预加载实体的有效性。但是数据库连接是从受限帐户执行的(仅 INSERT/UPDATE/DELETE)。似乎该查询上的 toplink 执行(并且由于 TL_Server 不存在而失败)非常奇怪的 SQL:

这是什么?简单的 UPDATE 如何显示为 INSERT?为什么 toplink 查询 TL_?

0 投票
2 回答
1085 浏览

java - 在 Toplink 中查找与日期相等的行的 SQL 查询

真的很讨厌 Oracle 中的日期,但我想做的只是一个基本查询,以查找一行或多行是否等于日期(Oracle 表中日期的格式是 17-JAN-11)。我正在使用 Toplink 来尝试形成查询。

我的代码是这样的:

……

它总是带回零行,我猜是因为我应该使用 truncateDate() 或其他东西,但我无法弄清楚语法。任何人都可以帮忙吗??,通过谷歌找不到任何像样的东西,因此这个帖子。

更新:现在我知道这肯定与时间和日期有关 - 对于没有时间的行,只是一个日期,上面的代码有效,但如果日期值也有时间,那么它会失败。

0 投票
2 回答
961 浏览

java - 使用数据库中的新数据更新应用程序的问题

我有一个 Web 应用程序,它从数据库中提取数据然后显示它。现在我遇到的问题是每个小时我都想对数据库中的数据进行更新;这是由一个单独的应用程序完成的,这一切都很好。但是,一旦发生这种情况并且用户刷新了他们的网页,就不会显示新数据。

我希望这是有道理的。

我将从应用程序中提供一些代码,以便您更好地看到它。

我的 web 应用程序是使用 java 用 netbeans 编写的,我有一个持久性单元,它将类映射到数据库中的表。我正在使用 wicket 将我的组件添加到我的 html 中。

// Java 检票口代码

// 检票口 html 代码

// DAO 应用程序设置,它从 db 中获取设置对象并将其返回给上面的 Java Wicket 代码

}

//ApplicationSettings 只是类。

//每小时代码在另一个可以运行并更新数据库的应用程序中运行

现在,当用户再次加载页面时,我希望gameTimeDays是正确的,因为页面会再次从数据库中获取数据,因为它会调用上面的java wicket 代码。但是价值没有改变。页面上显示的值是更新前的旧值。无论发生多少次更新,此值仍然是旧值。但是,如果我在 tomcat 服务器中重新部署或重新启动模块,那么该值在那个时刻是正确的。

我错过了什么,这是一个小问题,答案似乎在暗示我。

该值似乎存储在内存中,直到重新部署服务器或其他东西。我不太了解java的内部工作原理来了解这一点。

好的,我希望我为某人提供了足够的信息来帮助我解决困境。

谢谢你的帮助。

编辑:持久性库是 TopLink Essentials

0 投票
4 回答
147 浏览

java - 使用 DB 开发 Java 的最佳方式

我有使用 Toplink 将对象转换为数据库的经验,反之亦然。但这都是 JSP 站点的一部分,现在我用它做了一些 EJB 的东西。现在是我的问题:在 Java 桌面应用程序中使用 Toplink 之类的东西好还是使用 Java 中的本机 sql 东西更常见?

也许是教授的一些经验。开发人员可能很好。我需要为客户开发一个认真的应用程序。我正在使用 Java 进行操作,并将数据存储在数据库中。

谢谢

0 投票
3 回答
280 浏览

java - 奇怪的 JPA 行为:在应用程序启动时清理表

几乎所有内容都在标题中...启动应用程序时持久性工作正常,关闭应用程序时行仍在数据库中,但是一旦加载应用程序,行就被删除了...

我正在使用已经存在的数据库结构,通过 mysql5 SGBD。

似乎来自我的实体经理声明。这是我的几行代码,(实体管理器语句和persistence.xml)

entityManager 语句:

持久性.xml:

有人知道这个奇怪的问题原因吗?我已经有人建议我的 entityManager 在其声明中重新初始化持久性上下文......

PS:由于我是法国人,我可能会误用或拼错一些单词。随时要求我重新制定。