javax.persistence.EntityManager を介して通常のクエリを実行できます。
現時点では本当にわかりません。この投稿の後、さらに検索を試みます。皆さんが光を当てることができれば、本当に感謝しています.
ありがとうございました :)
javax.persistence.EntityManager を介して通常のクエリを実行できます。
現時点では本当にわかりません。この投稿の後、さらに検索を試みます。皆さんが光を当てることができれば、本当に感謝しています.
ありがとうございました :)
を使用してjavax.persistence.EntityManager
、
を使用して生の接続を取得します
private Connection getConnection(final EntityManager em) {
HibernateEntityManager hem = (HibernateEntityManager) em;
SessionImplementor sim = (SessionImplementor) hem.getSession();
return sim.connection();
}
次に、次のようなことを行います
public boolean myProc(EntityManager pentityManager, String param1, BigDecimal param2, String param3) throws SQLException {
boolean result = false;
Connection conn = getConnection(pentityManager); /* code above */
CallableStatement cs;
cs = conn.prepareCall("{CALL myPackage.myProc( ?, ?, ?, ? )}");
//IN params
cs.setString(1, param1);
cs.setBigDecimal(2, param2);
cs.setString(3, param3);
//OUT param
cs.registerOutParameter(4, java.sql.Types.BOOLEAN);
cs.executeUpdate();
result = cs.getBoolean(4); //get OUT PARAM
return result;
}