可能重复:
在 Hibernate 中调用存储过程
我有以下问题:我无法在 java 中调用存储过程
我所做的是:
创建一个实现可序列化 semaforoBO 调用的类并添加以下内容
@Entity
@NamedNativeQuery(
name="CalculoSemaforo",
query = "exec CalculoSemaforo codigo,fecha",
callable=true,
resultClass=char.class
)
public class SemaforoBO implements Serializable{
//code
}
存储过程的名称是 CalculoSemaforo,并且有两个输入变量返回一个字符。然后在 SemaforoBO 中有一个执行以下操作的函数:
public char semaforo(){
DBTenant dbTenant = new DBTenant();
Session sess;
try {
sess = dbTenant.getTenantSession();
Query query =sess.getNamedQuery("CalculoSemaforo");
query.setString("codigo", this.codigoarticulo);
query.setLong("fecha",this.fecha);
sem = (Character) query.uniqueResult();
}
catch(NullPointerException e)
{
sem = 'x';
}
return sem;
}
但它给了我一个例外 org.hibernate.MappingException: Named query not known: CalculoSemaforo
知道这个解决方案如何谢谢