问题标签 [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 投票
2 回答
1645 浏览

java - 在 TopLink 中获取客户端会话时出错

我面临一个特殊的问题。下面是我遇到的错误的堆栈跟踪。请帮忙。

0 投票
2 回答
7716 浏览

java - 实体类 [...] 中带注释的元素 [...] 上的 @JoinColumns 不完整

我使用:NetBeans IDE 6.7.1、GlassFish v2.1、Oracle 10g XE、JAVA 6 SE、JAVA 5 EE。

我对 @ManyToMany 注释有疑问:

GlassFish v2.1.1 的部分输出

创建数据库的脚本的一部分:

Customer 类的代码


错误地我把类CustRentMovie而不是Movie作为类型放在集合中所以我改变了

0 投票
2 回答
4135 浏览

java - JPA:EntityManager.find() 是否总是为相同的键返回相同的对象引用?

我有一个 DAO 的集成测试,其中我使用了一个共享的 EntityManager(通过 Spring,使用 SharedEntityManagerCreator)。测试类被标记为@Transactional,被测试的DAO 方法也是如此。

在测试类和 DAO 中,我都在检索 User 实体,如下所示:

在我的测试设置中,我修改了用户对象,但是当测试开始运行时,我没有在 DAO 中看到修改。原来,这两个引用并没有引用同一个对象;我在我的测试课上证明了这一点:

这打印出来是假的。我希望使用相同键对 EntityManager 的每次调用都会返回相同的对象引用,并且很惊讶(并且有点惊慌!)发现情况并非如此。任何人都可以对此有所了解吗?我已经重构了我的代码,所以这实际上不是问题(DAO 无论如何都不应该有 User 对象),但我仍然想更好地理解这一点。

谢谢!

Java 1.6u22、Toplink Essentials 2.0.1、Spring 2.5.6

0 投票
1 回答
1441 浏览

java - JPA 乐观锁版本处理 - 版本值应该携带到客户端还是?

我想知道如何使用 JPA(toplink Essentials)从服务器到客户端处理实体类中的乐观锁版本属性,反之亦然。

这是场景。

  1. 从浏览器用户向服务器发送请求,要求编辑个人用户信息。

  2. 服务器处理请求并将结果返回给浏览器。服务器代码如下所示:

    EntityManager em = EmProvider.getInstance().getEntityManagerFactory().createEntityManager();

    用户 u = (User)em.find(User.class, myUserId);

    返回你;//响应浏览器

在这里,我的困惑是用户表"version"optimistic locking.

这意味着即使客户端(我或任何人)永远不会使用它,版本字段的值也会被发送回客户端。版本字段将在服务器端代码中使用。

那么将版本号发送给客户端是否正确?因为否则我无法弄清楚如何检查版本号,以防用户点击修改数据的网页上的“更新”按钮。

如果您需要更多说明,请告诉我。

0 投票
3 回答
3206 浏览

java - 如何在 servlet 级别捕获 OptimisticLockException?

我正在使用 JPA toplink-essential,构建 REST Web 应用程序。

我有一个 servlet 可以找到一个实体并将其删除。

下面的代码我认为我可以在 servlet 级别捕获乐观锁异常,但事实并非如此!而是抛出 RollbackException,这就是文档所说的:

但是当我在某个地方看到 Netbean IDE GlassFish 日志时,会抛出optimisticLockException。它只是没有被我的代码捕获。(我的系统打印消息没有显示,所以我确定它不会出现在那里。)

我尝试导入每个包(当然一次一个)并使用 catch 子句进行测试,但两次,即使日志错误显示“乐观异常”,它也不会进入 catch 块。

那么 OptimisticLockException 是在哪里抛出的??????

错误信息:

0 投票
3 回答
34480 浏览

java - 为什么 JPA persist() 不生成自增主 ID?

我正在使用JPA toplink-essentialSQL Server 2008

我的目标是获取要插入表中的数据的自动增量主键值。我知道在 JDBC 中,有类似 getInsertedId() 的方法可以为您提供自动增量主 ID 的 ID(但那是在执行插入语句之后)

在 JPA 中,我发现@GenratedValue annotation可以解决问题。


现在,如果我运行下面的代码,它应该给我自动递增的 id ,但它返回 NULL...

0 投票
1 回答
3074 浏览

java - 具有非 JTA 的 JPA:是否可以在不提交的情况下安全地关闭 EntityTransaction?

我正在使用 JPA Toplink-essential 并开发 RESTful Web 应用程序。

这里首先要提一件事。

不使用 JTA

所以我的persistences.xml 被定义为不使用JTA。

这允许实体管理器不立即使用 executeUpdate() 执行查询,它将等待直到提交。

但是有一个大问题,在transaction.begin()之后,有没有像JSONExceptionor这样的错误indexOutOfBoundsException事务没有关闭,并保持打开一段时间。

在这种情况下是否可以以某种方式强制关闭交易?

0 投票
1 回答
1642 浏览

java - JPA Toplink - 在流程开始时检查活动事务的需要是什么?

我在互联网上看到很少有样本可以在流程开始时检查交易当前是否处于活动状态。

下面的代码是我的从工厂获取 EntityManager。

我不明白为什么需要在开始之前检查交易是否处于活动状态?

是因为其他一些进程可能正在使用相同的 EntityManager 实例吗?(EntityManagerFactory 是单例但 EntityManager 不是)

0 投票
2 回答
1100 浏览

java - java web应用程序缓存数据,如何阻止它使数据不陈旧!

你好,我有问题。我的(我猜的)持久层正在缓存我的结果,所以当我从我的应用程序外部更新数据库时,数据仍然是陈旧的。

但是,它只缓存了一半的时间,我希望这是有道理的,

我有一堂课

现在,如果我更新任何不是对类对象的引用的数据,例如“provincename”,那么数据在我的应用程序中就可以了,并且会立即更新。但是,像“建筑物”这样的内部对象没有,我无法弄清楚如何,如果我像重新部署我的应用程序一样进行硬刷新,那么数据是新鲜的。

我从这里的数据库中获取我的省份:

那么我如何去强制它也使该类的内部对象,即“建筑物”“人”也更新。

我的持久层是 toplink 的必需品,我修复了我之前没有数据更新的问题。以及这里的第一篇文章(这是另一个堆栈溢出页面)

谢谢你的帮助。我希望我能很好地解释我的问题

[编辑:就像我没有使用这个框架一样,加入数据库中的表并将数据重新填充到新变量中会更容易,但我没有]

0 投票
1 回答
282 浏览

java - 路径中带有变音符号的 PersistenceException

我在使用 Toplink Essentials作为持久性提供程序的 Java 桌面应用程序中遇到了一个奇怪的行为。

我有一个目录,其中包含我的应用程序所需的所有内容:一个 jar、一个 lib 文件夹和一个 JavaDB 数据库。整个目录是独立的(我复制了几次都没有问题,即使在不同的计算机之间)。

今天我想再复制一次,但我的目标文件夹包含一个德语变音符号 ü (html: ü)。

启动我的应用程序失败,有一个例外是很难找到原因(见下文)。

我当然知道旧的命名约定,但我认为我们已经把它抛在脑后了。所以我的问题是,是否有办法让它独立于目录命名运行。这很重要,因为我想将应用程序提供给客户并且对安装目录的影响很小。

系统:Windows 7,JavaDB 10.5.3

在此先感谢您的帮助!