гибернация и хранимая процедура - PullRequest
6 голосов
/ 23 марта 2011

Я новичок в hibernate и до этой даты я не сталкивался с хранимыми процедурами.

Может кто-нибудь сказать мне, как выполнить следующее в Hibernate, эта хранимая процедура возвращает три поля

date, balance, name_of_person

выполнить процедуры 'dfd' 'fdf' '34'

  1. Нужно ли создавать компонент таким образом, чтобы компонент имел следующие поля: дата, баланс, name_of_person

  2. Нужно ли мне создавать файл свойств?

  3. Можно ли использовать критерии для выполнения процедур в спящем режиме?

  4. Если I NativeQuery является единственным вариантом, то как я могу создатьфайл свойств, поскольку у меня нет такой таблицы в результате процедуры

  5. Можно ли использовать только собственный запрос без использования какого-либо компонента или файла свойств и печатирезультаты

1 Ответ

7 голосов
/ 23 марта 2011

Вот простой пример: -

Файл отображения Hibernate

<hibernate-mapping>
    <sql-query name="mySp">
        <return-scalar column="date" type="date" />
        <return-scalar column="balance" type="long" />
        <return-scalar column="name_of_person" type="string" />

        { call get_balance_sp :name }
    </sql-query>
</hibernate-mapping>

Код

List<MyBean> list = sessionFactory.getCurrentSession()
                            .getNamedQuery("mySp")
                            .setParameter("name", name)
                            .setResultTransformer(Transformers.aliasToBean(MyBean.class))
                            .list();

Бобовый класс

Этот компонент содержит результаты хранимой процедуры. Имена полей должны совпадать с именами столбцов из файла отображения Hibernate.

public class MyBean  {
    private Date date;
    private Long balance;
    private String name_of_person;

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