Witam mam taki nie banalny problem ;]
Opracowuje system w ktorym obsluga bazy danych realizowana jest za pomoca procedur i funkcji skladowanych na bazie(pl/sql oracle) interfejs ma byc webowy(JSP) z wykorzystaniem Javy EE 8-O I tu jest pytanie jak wywolywac i jakie beany tworzyc ?? Jakies pomysly sugestie bardzo mile widzialne [browar]
Zła wiadomość. Ze względu na to, że procedury składowane, ich wywołanie, są uzależnione od konkretnej implementacji RDBMS to musisz używać Native Query. JPA nie wspiera procedur składownych (tak wiem, mnie to też wkurza niemiłosiernie). Na Java Ranch była
http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=3&t=011210
dyskusja na ten temat.
Osobiście połączył bym tu kilka technik. Pierwszą było by JPA i EntityManager do zarządzania połączeniami i transakcjami. Następnie korzystałby on z interfejsu MyStoredProcedureManager i klasy StoredProcedure:
interface MyStoredProcedureManager{
StoredProcedure getStoredProcedureByName(String name);
}
public class StoredProcedure{
private String name;
private String query;
private String engine;
//gettery i settery
}
Należąło by jeszcze dać jakąś fabrykę managera:
interface MyStoredProcedureManagerFactory{
MyStoredProcedureManager createMyStoredProcedureManager();
void destroyMyStoredProcedureManager(MyStoredProcedureManager myStoredProcedureManager);
private final Set<MyStoredProcedureManager> managers = new HashSet<MyStoredProcedureManager>();
}
Następnie w silniku springa podajesz jako fabrykę MyStoredProcedureManagerów MyStoredProcedureManagerFactory, a w EJB adnotujesz, że korzystasz z MyStoredProcedureManagera i wtedy kontener EJB zapewnia odpowiednie zarządzanie beanami.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.