как вызвать хранимую процедуру с несколькими таблицами в hibernate hbm file и pojo, а также в java классе - PullRequest
0 голосов
/ 10 февраля 2012

SELECT emp.employeeId, emp.employeeFirstName, comp.companyname, dept.departmentname 
FROM Employeetable emp, Companytable comp, departmenttable dept 
WHERE emp.employeeCompanyId=comp.companyId AND emp.EmployeeDepartmentID=dept.DepartmentID;

Файл hbm для сотрудника:

<sql-query name="callrealtimeprocedure">
    <return alias="employeetable" class="com.AdiSys.eRMS.entity.Employeetable"/>
    <return-join alias="companytable" property="com.AdiSys.eRMS.entity.Employeetable"/>
    <return-join alias="companytable" property="com.AdiSys.eRMS.entity.Employeetable"/>
</sql-query>

pojo сотрудника:

@NamedNativeQueries({
@NamedNativeQuery(
name = "callrealtimeprocedure",
query = "CALL realtime(:employeeId,:employeeFirstName)",
resultClass = Employeetable.class
)
})
@Entity

Аналогично отделу hbm и pojo.

Мой Java-класс после создания сеанса:

Query EmplyeeQuery = session.createSQLQuery("CALL realtime(:employeeId,:employeeFirstName,:companyname,:departmentname)")
        .addEntity(Employeetable.class)
        .addEntity(Companytable.class)
        .addEntity(Departmenttable.class)
        .setParameter("employeeId", "")
        .setParameter("employeeFirstName","")
        .setParameter("companyname", "")
        .setParameter("departmentname", "");

Я не могу выяснить, как связать SQL-запрос хранимой процедуры в hbm, pojo и java-классе

1 Ответ

0 голосов
/ 10 февраля 2012

Ну, для начала я бы не стал беспокоиться о хранимой процедуре. Смысл использования Hibernate в том, что вам не нужно писать SQL. Если вы собираетесь писать SQL, то использовать Hibernate не так уж и много.

Действительно хорошим источником документации по Hibernate является http://www.hibernate.org/docs - если вы перейдете к «Основному справочному руководству» для любой версии Hibernate, вы найдете несколько действительно хороших примеров, как настроить POJOs.

Кроме того, я не знаю, планируете ли вы использовать аннотации Hibernate. Мне они нравятся - они гораздо менее грязные, чем отдельные XML-файлы. Посмотрите «Справочное руководство по аннотациям в спящем режиме» (по той же ссылке, под версией 3.5), чтобы узнать, как их использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...