java - Java 实体新手 : Entity class complaining of being cast to itself

标签 java entity

我是 Java 实体的新手,我从 Query.getSingleResult() 调用中遇到了一些奇怪的问题。这是一个代码片段:

  LoaPoliciesConfig policy = new LoaPoliciesConfig();
  EntityManager em = getEntityManager();
  try
  {
     Query q = em.createNamedQuery("LoaPoliciesConfig.findByName");
     q.setParameter("policyName", policyName);
     Object ret = q.getSingleResult();
     policy = (LoaPoliciesConfig) ret;
  }

经过多年的正常工作后,这突然开始给我这个错误:

CRAAC.WebService.DataAccess.LoaPoliciesConfig cannot be cast to
CRAAC.WebService.DataAccess.LoaPoliciesConfig

起初这在重新启动服务器时消失了,但最后一次它似乎仍然存在。

getSingleQuery() 返回一个对象,到目前为止我在网上找到的所有文档似乎都表明这是执行此操作的首选方法。所以,我的问题本质上是我在这段代码中做错了什么,还是只是服务器在这个过程中的某个地方变得困惑了?

最佳答案

怀疑您的类路径上有 2 个 LoaPoliciesConfig 类,因此它们是从两个不同的类加载器加载/访问的。

在这种情况下,来自一个类加载器的类 X 不等同于来自第二个类加载器的类 X,您将得到你看到的困惑。检查您的类路径、环境中可用的类,以及它们从何处加载(通过 getClass()getClassLoader())

关于java - Java 实体新手 : Entity class complaining of being cast to itself,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2233001/

相关文章:

c# - 用于实现 "Search as you type"Combobox 的 BackgroundWorker

java - 在 Java 中捕获 Scala 中抛出的异常 - 无法访问的 catch block

java - 网络性能缓慢

java - 有什么方法可以更改类路径中的属性文件吗?

symfony - 如何在symfony2中以表单类型调用实体存储库的功能

java - java中如何从数据库生成实体类

wcf - Entity Framework 4 POCO 的存储过程错误 - "The FunctionImport could not be found in the container"

php - Symfony2 : Add method to an Entity

java - SmartGWT,将 HTML 附加到 HTMLPane

java - 两条线会在笛卡尔平面相交吗