powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate и хитрая базовая моделька!!!
2 сообщений из 2, страница 1 из 1
Hibernate и хитрая базовая моделька!!!
    #33291778
Jericho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет Алл!
Если не достал ещщо вопросами по хиберу v2 то подскажите как можно несколько табличек из legaсy db обернуть в нечто пристойное.
Вобщем так есть 3-4 (в реальности больше) на MSSQLServer таблички типа
Код: plaintext
1.
2.
3.
4.
5.
6.
create table dbo.TMainTable1
(
  idx  int  identity( 1 , 1 ) not  null  primary key
  Code varchar( 32 )
  ....
)
они описывают некоторые сущности.
И есть пару табличек с описаниями дополнительных
свойств этих сущностией

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
/*описание типов аттрибутов*/
create table dbo.AttribList
(
  id  int  identity( 1 , 1 ) not  null  primary key
  AttribName varchar( 32 )
  AttribType  int  --определяет тип данных аттрибута ( int - 1 ,varchar- 2 ,datetime- 3 ) 
)
/*значения аттрибутов*/
create table dbo.AttribValues
(
  id  int  identity( 1 , 1 ) not  null  primary key
  OwnerId varchar( 32 ) not  null  , --id сущности которой принадлежит атрибут 
  AttribType  int  not  null , -- ссылка на табличку dbo.AttribList.Id   
  IntValue   int   null , --значение типа Integer
  VarCharValue  varchar( 4000 )  null , --значение типа Varchar
  DateTimeValue DateTime  null  --значение типа DateTime
)
AttribValues.OwnerId ссылается на таблицы TMainTable1.Idx ....
TMainTable1000.Idx.

вот такая хитровыделаная схема мне досталась :-(

Понимаю что это вроде как MANY-2-MANY связка.. но как быть если тип значения атрибута выбирается из таблицы с типами атрибутов??? как это в java классе показать?? вообще ничего придумать не могу.
если кто с таким сталкивался подскажите куда двигаться?
ps:БД менять нельзя - таблицы
(разве что вьюшками как то исправить ситуацию).

Netdigitally yours Jericho
...
Рейтинг: 0 / 0
Hibernate и хитрая базовая моделька!!!
    #33295188
Jericho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм.. может я запутал всех 41 человека которые просматривали этот форум своим описанием проблемы...??!!!
Тогда упростим задачу .. если произвольная сущность к примеру счет
Код: plaintext
\n public   class  Account\n{\n   private   int  _AccountId;\n   private  string _Number;\n   private  string _Currency;\n\n public  Account(){}\n...\n/*гетеры и сетеры для закрытых членов класса*/\n\n}\n

И к нему хочу прицепить несколько произвольных (заранее не известных)дополнительных атрибутов которые в БД описаны как шаблон
EAV(Entity-Attribute-Value)
Проектирование БД. Структура БД
только вот теперь сижу и думаю как же это обернуть в классы и маппинг написать..
мозги за несколько дней ничего стоящего не придумали. вот и хочу мировой разум спросить. Может кто такое делал??
ps:
Сам придумал только к каждой сущности(к примеру сущность счет) цеплять нечто вроде
Код: plaintext
\n class  Account\n..\n private  Collection AccountAttributes =  new  ArrayList(); // набор объектов типа AccountAttribute\n...\n
и создать класс на подобие такого
Код: plaintext
\n public  AccountAttribute\n{\n  private  Account _OwnerObject;\n  private  AccountProperty _Property;  //хранит все что отностится к счету из таблицы tProperty (тип, навазние)\n \n}\n\n
ну и мапить соотвецтвенно как
Account one-to-many AccountAttribute many-to-one AttributeProperty

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


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