Hibernate Экстендим диалект.
Итак вступил я на эту скользкую тропу.
registerFunction проходит на ура. И приносит радости НО!
Чтобы почуствовать себя белым человеком хочется обьяснить хибернайту что есть такие интересные типы в базе как
CREATE TYPE geometry
(INPUT=geometry_in, OUTPUT=geometry_out, DEFAULT='',
INTERNALLENGTH=-1, ALIGNMENT=int4, STORAGE=MAIN);
Для которого в коде сещуствует класс понимающий что это такое.
CREATE TYPE tsvector
(INPUT=tsvector_in, OUTPUT=tsvector_out, DEFAULT='',
INTERNALLENGTH=-1, ALIGNMENT=int4, STORAGE=EXTENDED);
и подобные.
Можно конечно хакерствовать подсовывая строчки и преобразования к этим типам в SQL.
Но както маленько не красиво это. Хочется своих типов.
Хочется научить хибернайт понимать эти типы и скармливать соответсвующим обьектам.
Для этих целей напрашивается структурка вида
registerColumnType( Types.BIT, "bool" );
Очень хочется написать
registerColumnType( Types.OTHER, "geometry" );
Но вот что делать дальше.
как обьяснить ему порядок работы с этим типом ... пока не понимаю.
Если комуто тема интересна поглядите package org.hibernate.dialect;
Может чего на медитируется ...
registerFunction проходит на ура. И приносит радости НО!
Чтобы почуствовать себя белым человеком хочется обьяснить хибернайту что есть такие интересные типы в базе как
CREATE TYPE geometry
(INPUT=geometry_in, OUTPUT=geometry_out, DEFAULT='',
INTERNALLENGTH=-1, ALIGNMENT=int4, STORAGE=MAIN);
Для которого в коде сещуствует класс понимающий что это такое.
CREATE TYPE tsvector
(INPUT=tsvector_in, OUTPUT=tsvector_out, DEFAULT='',
INTERNALLENGTH=-1, ALIGNMENT=int4, STORAGE=EXTENDED);
и подобные.
Можно конечно хакерствовать подсовывая строчки и преобразования к этим типам в SQL.
Но както маленько не красиво это. Хочется своих типов.
Хочется научить хибернайт понимать эти типы и скармливать соответсвующим обьектам.
Для этих целей напрашивается структурка вида
registerColumnType( Types.BIT, "bool" );
Очень хочется написать
registerColumnType( Types.OTHER, "geometry" );
Но вот что делать дальше.
как обьяснить ему порядок работы с этим типом ... пока не понимаю.
Если комуто тема интересна поглядите package org.hibernate.dialect;
Может чего на медитируется ...
