【发布时间】:2015-12-09 03:27:43
【问题描述】:
这是我的代码,createStoredProcedureQuery 在eclipse下面有红线,但没有解决,我尝试了很多方法仍然无法解决问题。
private static EntityManagerFactory factory;
public static void main(String[] args) {
factory = Persistence.createEntityManagerFactory("mypersistenceUnit");
EntityManager em = factory.createEntityManager();
// Create call stored procedure
em.getTransaction().begin();
StoredProcedureQuery storedProcedure = em.**createStoredProcedureQuery**("getCode");
// set parameters
storedProcedure.registerStoredProcedureParameter("name", String.class, ParameterMode.IN);
storedProcedure.registerStoredProcedureParameter("num", String.class, ParameterMode.IN);
storedProcedure.registerStoredProcedureParameter("code", String.class, ParameterMode.OUT);
// execute SP
storedProcedure.execute();
// get result
String code= (String)storedProcedure.getOutputParameterValue("code");
System.out.println("code is: " + code);
em.getTransaction().commit();
em.close();
}
【问题讨论】:
-
StoredProcedureQuery storedProcedure = em.**createStoredProcedureQuery**("getCode");您是实际代码的 ** 部分,还是只是在为 Eclipse 描述它
-
你的类路径中是否有所有必要的 jars(如 hibernate-entitymanager.jar),如果没有,你也可能在 em.getTransaction() 中得到那些波浪线。 @user1765427
-
** 我是否尝试使其粗体,而不是代码的一部分,我确实在类路径上有 hibernate-entitymanager.jar 有以下内容:hibernate-entitymanager.jar、hibernate-ejb3-persistence、hibernate-注释、hibernate-core、hibernate-eh-cache、hibernate-jpa-2.0.-api、1.0.0.Final、hib-oscache、proxool
-
尝试构建它,看看它是否抱怨任何编译错误?也在尝试退出并返回eclipse
-
是的,它在构建时给了我编译错误:符号:方法 createStoredProcedureQuery(String) 位置:EntityManager 类型的变量 em,退出 Eclipse 没有帮助。
标签: java hibernate jpa stored-procedures dns