重複の可能性:
Hibernateでストアドプロシージャを呼び出す
次の問題があります。Javaでストアドプロシージャを呼び出せません
私がしたことはこれでした:
シリアル化可能なsemaforoBO呼び出しを実装するクラスを作成し、以下を追加します
@Entity
@NamedNativeQuery(
name="CalculoSemaforo",
query = "exec CalculoSemaforo codigo,fecha",
callable=true,
resultClass=char.class
)
public class SemaforoBO implements Serializable{
//code
}
ストアドプロシージャの名前はCalculoSemaforoであり、charを返す2つの入力変数があります。次に、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を与えます:名前付きクエリは不明です:CalculoSemaforo
このソリューションがどのように感謝するか