Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate Mapping для Stored Procedure / 2 сообщений из 2, страница 1 из 1
17.01.2007, 20:37:33
    #34263020
Alexei Rublov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate Mapping для Stored Procedure
Имеется хранимка которая возвращает PostgreSQL Composite Type.
Как правильно под нее написать Hibernate Mapping?

Для таблицы в которой 2 поля 1) id 2) PostgreSQL Composite Type
маппинг сделать получилось, а вот без таблицы что то не как :(
...
Рейтинг: 0 / 0
17.01.2007, 21:29:57
    #34263081
Alexei Rublov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate Mapping для Stored Procedure
Тестовая хранимка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Функция	                 Аргументы	Возвращаемое значение	Язык
calc_traf_by_tarif_time	integer	traf_by_ttime                 	plpgsql
Определение
declare 
 tt_traf traf_by_ttime%rowtype;
 tid integer;
begin
 tid =  1 ;
 tt_traf.client_id = tid;
 tt_traf.t_interval = '00:00-01:59';
 tt_traf.incoming = tid *  100 ;
 tt_traf.outgoing = tid *  10 ;
 tt_traf.traf_price = tid * 5 ;
  return  tt_traf; 
end;
Свойства
 VOLATILE 
CALLED ON  NULL  INPUT
SECURITY INVOKER

Тип traf_by_ttime

Код: plaintext
1.
2.
3.
4.
5.
6.
Поле	        Тип данных	
client_id	integer	
t_interval	character varying	
incoming	bigint	входящий 
outgoing	bigint	выходящий 
traf_price	 double  precision

Под это дело реализованы класы

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 public   class  TrafByTTimeType  implements  UserType

 public   class  TrafByTTime
 implements  Serializable, Cloneable

...
   private  Integer clientId;
   private  String timeInterval;
   private  BigInteger incoming;
   private  BigInteger outgoing;
   private   Double  trafPrice;
....

В тесте хотелось бы сделать примерно следущее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 public   class  HTest1
{
     public   static   void  main(String[] args)  throws  ParseException
    {
        Session session = HibernateUtil.getSessionFactory().openSession();

        TrafByTTime test = (TrafByTTime) session.createSQLQuery("select * from    calc_traf_by_tarif_time(1)").uniqueResult();

или более правильно здесь скорее через session.getNamedQuery("...").uniqueResult();

так вот как правильно написать hbm.xml файл под NamedQuery ?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate Mapping для Stored Procedure / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]