UCanAccess 和 JPA 上下文中的 java.lang.***Error
Posted
技术标签:
【中文标题】UCanAccess 和 JPA 上下文中的 java.lang.***Error【英文标题】:java.lang.***Error in context with UCanAccess and JPA 【发布时间】:2014-07-13 18:52:38 【问题描述】:当我尝试执行 JPA 查询时,UCanAccess 驱动程序以 java.lang.***Error 退出。
这个使用过的调用尽可能简单。对于另一个表,此数据库请求可以正常工作。
final Tbltitel entity = (Tbltitel) entityManager.createNamedQuery("Tbltitel.findById")
.setParameter("id", new Integer(14199)).getSingleResult();
使用普通 JDBC 的调用和通过 Jackcess 对该表的调用也可以正常工作,所以我猜,UCanAccess Driver in Context with JPA 出了点问题。
包含数据库和 JUnit 测试的完整 Eclipse 项目可以在“https://app.box.com/s/mun1se9y7gji24kg6xrx”下载
我的设置: Windows 7 专业版 64 位 微软办公软件 2013 NetBeans IDE 8.0 Java 1.8 UCanAccess-2.0.7-bin
【问题讨论】:
Okey Martin,我刚刚发布了 2.0.7.1,但我想在此之前对此进行调查... 对表 TBLTITEL 的查询和以下为加载引用而执行的查询(大约 7 个)都由 UCanAccess 执行,没有问题。问题似乎出在 jdbc 调用 UCanAccess 之后,而 EclipseLink 正在从结果集映射到对象。所以它似乎与 UCanAccess 无关。 【参考方案1】:正如我所说,这个问题似乎与 EclipseLink 而不是 UCanAccess 有关。 在自动引用的类 Tbllistofvalues 上设置注释 @Cacheable(false) 应该可以解决问题。
【讨论】:
以上是关于UCanAccess 和 JPA 上下文中的 java.lang.***Error的主要内容,如果未能解决你的问题,请参考以下文章
通过 UCanAccess 在 Eclipse 中“从表中生成实体”(MS Access)
Spring Boot / Data 通过 jdbc UCanAccess 连接到 MS Access