问题标签 [toplink-essentials]

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 投票
9 回答
72707 浏览

java - 将参数设置为 IN 表达式的列表

每当我尝试将列表设置为在 IN 表达式中使用的参数时,都会出现非法参数异常。互联网上的各种帖子似乎表明这是可能的,但它肯定不适合我。我正在使用带有 Toplink 的 Glassfish V2.1。

有没有其他人能够让这个工作,如果是这样怎么办?

这是一些示例代码:

以及堆栈跟踪的相关部分:

0 投票
1 回答
911 浏览

java - 如何使用 glassfish + toplink 要领使用延迟属性加载

我有一个查询:

这给了我期望的结果,但是其中一列(我们称之为它massiveDescription)很大,并且由于我正在查询我想要排除它的产品的完整列表。

我添加@Basic(fetch=FetchType.LAZY)了,getMassiveDescription()但这没有任何区别(生成的 sql 仍然包括所有列)。

我使用的 glassfish 几乎是开箱即用的,它使用 toplink 必需品。我想我可能需要做一些事情来配置代理,所以我尝试-javaagent:/path/to/toplink-essentials-agent.jar通过 glassfish Web 界面添加 JVM 选项。然后我得到一个例外:

所以我想我需要添加jta.jar到 glassfish web ui 中的类路径后缀框中。这给了我一个不同的例外:

所以现在我在追逐罐子。我以同样的方式添加toplink-essentials.jar到类路径中,但我仍然得到同样的异常。

我有几个问题:

  • glassfish 是否应该支持开箱即用的延迟属性加载的字节码增强?
  • 如果没有,我是否错过了正确的配置方法?
  • 我读到实现此​​目的的“推荐”方法是使用项目仅选择查询中实体的一部分。我更喜欢这样,但找不到任何关于如何做到这一点的文档。交换select pselect p.id, p.name, ...了我奇怪的错误 - 但无论如何我只是在猜测语法。
0 投票
1 回答
497 浏览

jpa - EJB3/DB2 事务不回滚

我有一种情况,我有一棵树,一Entities棵树Session Bean。简单地保留或合并实体,并且有问题的Session Bean方法标记为@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)

现在,如果由于(例如)外键违规或缺少不可为空的字段而导致子实体无法持久化/合并,则事务在日志中被标记为回滚,并被EJBException抛出。我期待整个事务被回滚,但是在 EJB 会话 bean 调用返回后,我看到父实体出现在数据库中,尽管子实体失败了。

有没有其他人看到过这样的行为?附加信息:

谢谢。

0 投票
1 回答
317 浏览

java - 在基于 toplink 和 struts 2 的应用程序中,即使在提交数据后数据也会从数据库中消失

我在 GNU/Linux 机器上的 tomcat 6.0.20 和 MySql 5.1.38 服务器上运行了一个 struts 2 应用程序和一个 toplink 持久性提供程序。提交数据后,当我去检索它时,它已经从数据库中消失了。

在我的查询执行后,我做了一个em.commit()and 。em.flush()它们是如何消失的?我正在使用所有标准配置文件。我已经减少了mysql 中的wait_timeoutandinteractive_timout期间。也在autoReconnectforPools我的persistence.xml.

我还在每个用户注销时使缓存无效。

有任何想法吗?

0 投票
1 回答
785 浏览

java - Toplink 试图持久化空对象

我有一个对象“实例”,里面有另一个对象“课程”。当尝试持久化一个新的 Instance 对象时,如果 Course 为空,我会收到以下错误:

这是我的课程注释:

我不明白为什么它试图坚持一些空的东西。如果它为空,它应该只是将该字段保留在数据库中,对吗?

0 投票
1 回答
464 浏览

java - 关于 EJB 3.0 和 Toplink 框架的一些限制

我有项目使用 EJB 3.0 并为模型层实现 Toplink 框架。

在使用 EJBQL 处理数据时,我发现它似乎有一些限制:

  • 它无法处理数据时间,例如查找日期的一部分,例如日、月或年
  • 它无法在 from...to 中找到日期时间
  • 它无法比较日期时间字段
  • 它不能将类而不是实体映射到自定义本机选择查询,因为我想从 SELECT 语句中获取列表数据,但是当我查询以防万一连接 2 个或更多表并将对象输出映射到一个类但不可能

@PersistenceContext 私有 EntityManager em;

em.createNativeQuery("SELECT a.usertype , b.username, b.userpass FROM tablea a, tableb b WHERE a.id = b.id,MyClass.class).getResultList

......

类 MyClass(){
字符串用户类型;
字符串用户名;
字符串用户密码;

}

你能帮我出主意吗?

预先感谢!

0 投票
1 回答
9251 浏览

jpa - JPA - 在没有调用 persist() 的情况下保存更改

我们正在使用 JPA + Spring + EJB 的 Toplink 实现。在我们的一个 EJB 中,我们有这样的东西:

所以,基本上这个updateUser()方法应该用给定的userId. 但是这个方法的作者忘记调用了em.persist(u)

最奇怪的是它运行良好。怎么会这样?我 100% 确定如果不调用em.persist()em.merge()无法将更改保存到数据库中。他们可以吗?有没有可能发生这种情况的情况?

0 投票
2 回答
3570 浏览

java - 在 Glassfish 中强制清除 EJB3 缓存

我有使用 EJB3 + Toplink 的 Java 编写的应用程序。我使用 Glassfish 作为我的应用程序。服务器。

有时缓存的数据很旧,我需要手动清除缓存。我知道我们可以设置时间来清除它,但我想制作一个按钮来为我手动清除它。有可能吗?

0 投票
4 回答
3832 浏览

java - EJB3 - @Column(insertable="false") 问题

我正在使用 EJB3 和 Oracle Express Edition DB 构建 J2SE 应用程序。

我的问题就是这样 - 我在我的项目中设置了一个与数据库中的表匹配的 EntityBean。该表包含一个不可为空且具有默认值的列。我想要的是,当使用 EJB 将新数据持久化到该表时,该列的值将获得其默认值。这是我在项目中设置的方式:

我还在 ORM.XML 文件中设置了它:

但是由于某种原因,当创建一个新的 EntityBean 并且没有设置名字字段,然后尝试持久化它时,我得到以下异常:

这意味着持久性管理器尝试插入名字字段,尽管我告诉它不要。

我在这里做错了吗?

谢谢!

0 投票
2 回答
615 浏览

java - Toplink 异常,怎么回事?

生成此 EJB SQL 语句时出现异常。

IDENT 是什么意思。任何想法我做错了什么?