【发布时间】:2015-08-28 09:10:50
【问题描述】:
我的问题是我对 EntityManager 有一个查询,例如:
Query query = em.createQuery("select nombre from OTP_OPERACION_DETALLE");
Java 抛出这个异常:
error e: An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing the query [select nombre from OTP_OPERACION_DETALLE], line 0, column -1: unexpected end of query.
Internal Exception: MismatchedTokenException(-1!=80)
我尝试在 Oracle (PL/SQL) 中运行此查询,但没有任何问题。
问题出在哪里?
【问题讨论】:
-
你可以试试
em.createQuery("select nombre from OTP_OPERACION_DETALLE nombre");吗? -
我有一个错误:错误 e:在 EntityManager 中创建查询时发生异常:异常描述:编译查询时出错 [从 OTP_OPERACION_DETALLE 名称中选择名称]。未知实体类型 [OTP_OPERACION_DETALLE]。
-
这是因为您可能没有添加
@Entity并且没有在您的persistence.xml 中提及该类。将@Table注释添加到您的@Entity并将实体添加到persistence.xml。如果它不是一个实体,只需使用em.createNativeQuery("select nombre from OTP_OPERACION_DETALLE nombre"); -
谢谢!!!我用了 creativeNativeQuery,一切都是正确的!!!
标签: java oracle entitymanager