|
|
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
AlexJm Да и преобразования ООП->СУБД нет как класса. А оно нужно (собственно что я и хочу выяснить)? Нужно, потому ассоциации м:м и наследование просто так в БД не перенести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 18:03 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
LeonidvAlexJm Да и преобразования ООП->СУБД нет как класса. А оно нужно (собственно что я и хочу выяснить)? Нужно, потому ассоциации м:м и наследование просто так в БД не перенести. в j2ee среде, кстати, компоненты не общаются с БД напрямую, а гоняют dto от сессионных бинов. поэтому компоненты, заточенные на БД, не востребованы. поэтому же предпочтительно ORM из коробки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 18:33 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Leonidv Не понял. Я за 30 минут пишу TableModel, которая показывает ResultSet. Чем такой класс будет отличаться от того, что вы пишите? Еще за какое-то время добавляю туда поддержку CRUD и радуюсь жизни. Тем, что на форме может лежать не только JTable, но и другие компоненты, привязанные к этому же источнику данных. Вам тогда придется делать маппинг TableModel на соответствующие модели других виджетов. В данном случае вариант с DataSet и его контроллерами более предпочтителен. Поскольку маппинг уже существует :) LeonidvAlexJm Да и преобразования ООП->СУБД нет как класса. А оно нужно (собственно что я и хочу выяснить)? Нужно, потому ассоциации м:м и наследование просто так в БД не перенести. Да блин, не понимаю я - зачем? Обычный способ редактирования данных - сохранение после перемещения по записям (разумно, согласитесь). Какая разница, что у нас там есть - хитроумный Master-Details на файловую систему или просто тупой запрос SQL? Deady в j2ee среде, кстати, компоненты не общаются с БД напрямую, а гоняют dto от сессионных бинов. поэтому компоненты, заточенные на БД, не востребованы. поэтому же предпочтительно ORM из коробки. А кто-нибудь говорил про БД? Что мешает создать источник данных, который через Reflection напрямую общается со св-вами бинов? И далее всё тем же нехитрым путем: Код: plaintext 1. 2. 3. 4. 5. Просто очень бесят все эти "контексты", xml-загрузчики, визарды по привязке схем данных к Entity и прочее УГ. Ведь можно было бы делать всё это динамически, без привязки к конкретным классам. Или я неправ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 20:05 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
DeadyLeonidvAlexJm Да и преобразования ООП->СУБД нет как класса. А оно нужно (собственно что я и хочу выяснить)? Нужно, потому ассоциации м:м и наследование просто так в БД не перенести. в j2ee среде, кстати, компоненты не общаются с БД напрямую, а гоняют dto от сессионных бинов. поэтому компоненты, заточенные на БД, не востребованы. поэтому же предпочтительно ORM из коробки. Да, это хорошее объяснение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 20:33 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
AlexJmИтак, есть модель данных - TDataSet/QItemModel (первая буковка в сочетании MVC). Она абстрактна, и умеет делать следующие вещи: - заполнение (open/execute) - навигация по данным (next, prior и т.д) - получение значения столбца X в текущей записи - сохранение (post/submit) - поиск - фильтрация - обновление - распространение неких событий при навигации/сохранении/изменениях к соответствующему контроллерураспишу: - заполнение (open/execute) - контроллер/DAO - навигация по данным (next, prior и т.д) - контроллер/DAO - получение значения столбца X в текущей записи - отсутствует за принципиальной ненужностью. данные уже развернуты в объекты, а столбцы в конкретные свойства. - сохранение (post/submit) - контроллер/DAO - поиск - контроллер/DAO - фильтрация - контроллер/DAO - обновление - контроллер/DAO - распространение неких событий при навигации/сохранении/изменениях к соответствующему контроллеру - тут подробнее: коллекции не имеют навигации, навигация это свойство View, потому при навигации View можно распространять события куда угодно в приложении (всем кто подписан). сохранение это свойство View реализуемое через DAO. изменение это ... м... сложно сказать что это - можно распространять события от View, а можно события от DAO, а можно вообще интерсептор повесить и одним интерсептором ловить сохранение изменений любых данных в системе. По сути вы описали что может DAO-компонент. Кроме того DAO однозначно работает с транзакциями. А как с транзакциями работает DataSet? начинается ли новая транзакция на "фильтрацию" или тянется длинная транзакция-со-времени-первого-получения-данных. Еще косяк: У меня за стенкой команда пишет систему, где сервер приложений - один, а веб-мордочек множество. Они как получили данные, так и передают веб-морде... А ваш ДатаСет можно передать по сети? понятное дело, что с веб-серверов СУБД не доступна ни под каким соусом. Они даже название СУБД не знают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 17:23 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
LeonidvAlexJm Да и преобразования ООП->СУБД нет как класса. А оно нужно (собственно что я и хочу выяснить)? Нужно, потому ассоциации м:м и наследование просто так в БД не перенести. м:м легко отображаются в любой бд. Наследование в базах не предусмотрено вообще, оно нужно только в ооп-языках. ооп->субд не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 17:51 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
1024Наследование в базах не предусмотрено вообще это не совсем так. в postgres например есть понятие наследования таблиц, правда там оно обычно для секционирования используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 18:07 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
какое ж это тогда наследование если оно для других целей. В разных серверах много чего есть. Но в базах для задач которые в ооп решаются наследованием используется обычная связь 1:1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 18:19 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
VoDAДатаСет можно передать по сети? конечно. как бы без этого трехзвенки строились. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 18:30 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
1024какое ж это тогда наследование если оно для других целей. кто для чего используют, это дело третье 1024Но в базах для задач которые в ооп решаются наследованием используется обычная связь 1:1.это только один из способов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 18:54 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
VoDA коллекции не имеют навигации, навигация это свойство View Извините, я где-то слово "коллекция" упомянул? VoDA сохранение это свойство View реализуемое через DAO. Гм, слово View мне нравится использовать в контексте "визуальный компонент". У Вас есть другое толкование?. Как он может сохранять данные? VoDA изменение это ... м... сложно сказать что это - можно распространять события от View, а можно события от DAO, а можно вообще интерсептор повесить и одним интерсептором ловить сохранение изменений любых данных в системе. Что-то я уже не пойму, у кого каша в голове. Давайте еще раз. Модель - это то, через что мы получаем данные. Кто как не она обязана отвечать за их сохранение и изменение? VoDA По сути вы описали что может DAO-компонент. Кроме того DAO однозначно работает с транзакциями. А как с транзакциями работает DataSet? начинается ли новая транзакция на "фильтрацию" или тянется длинная транзакция-со-времени-первого-получения-данных. Слово "транзакция" употребил Леонид. Где я про них говорил? Как организуете свой способ доступа к данным, такие и будут транзакции. VoDA Еще косяк: У меня за стенкой команда пишет систему, где сервер приложений - один, а веб-мордочек множество. Они как получили данные, так и передают веб-морде... А ваш ДатаСет можно передать по сети? понятное дело, что с веб-серверов СУБД не доступна ни под каким соусом. Они даже название СУБД не знают См. предыдущий пункт. И главное - способ доступа к данным на примере Qt/Delphi не претендует на оригинальность или, скажем (упаси б-г) "гениальность". Просто это - данная вещь, которая позволяет организовывать динамические приложения. Можно ли такое организовать в стандартных терминах Java/его библиотек? Похоже нет. Хорошо это или плохо - решать самому разработчику. Но автор (вроде бы) спрашивал именно про такой способ доступа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 20:18 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
chpasha1024Наследование в базах не предусмотрено вообще это не совсем так. в postgres например есть понятие наследования таблиц, правда там оно обычно для секционирования используется. Мы его для наследования используем ровно точно также, отражая иерархию классов. Правильней сказать, что секционирование в postgresql через наследование делается. Но никак не наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 20:21 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
AlexJmИзвините, я где-то слово "коллекция" упомянул?Это я говорю что в java хранение данных это коллекции. AlexJmVoDAсохранение это свойство View реализуемое через DAO. Гм, слово View мне нравится использовать в контексте "визуальный компонент". У Вас есть другое толкование?. Как он может сохранять данные?Хорошо... более подробно есть View который отображает данные. допустим момент сохранения реализован по кнопке, тогда по нажатию кнопки модель данных из View едет в DAO и сохраняется. AlexJmVoDA изменение это ... м... сложно сказать что это - можно распространять события от View, а можно события от DAO, а можно вообще интерсептор повесить и одним интерсептором ловить сохранение изменений любых данных в системе. Что-то я уже не пойму, у кого каша в голове. Давайте еще раз. Модель - это то, через что мы получаем данные. Кто как не она обязана отвечать за их сохранение и изменение?Модель данных - это то, в каком виде данные представлены в системе. Получение данных из внешнего источника - задача Data Access Object DAO. причем не важно это СУБД WebService или еще какая приблуда. Модель - Entity, доступ - DAO. Дело в том, что я расписываю названия и подход принятые в java. В Delphi возможно используется другие определения (аксиомы) AlexJmVoDA По сути вы описали что может DAO-компонент. Кроме того DAO однозначно работает с транзакциями. А как с транзакциями работает DataSet? начинается ли новая транзакция на "фильтрацию" или тянется длинная транзакция-со-времени-первого-получения-данных. Слово "транзакция" употребил Леонид. Где я про них говорил? Как организуете свой способ доступа к данным, такие и будут транзакции."транзакция" упоминул я ибо не понятно КАК работает DataSet с транзакциями? к тебе вопрос - можно ли переколупать DataSet чтобы транзакции работали именно так, как мне нужно? допустим на SELECT и сортировку применять общую "длинную" транзакцию, а на фильтрацию - другую "короткую"? (понимаю пример странные - чисто интересно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 23:30 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
AlexJmИ главное - способ доступа к данным на примере Qt/Delphi не претендует на оригинальность или, скажем (упаси б-г) "гениальность". Просто это - данная вещь, которая позволяет организовывать динамические приложения. Можно ли такое организовать в стандартных терминах Java/его библиотек? Похоже нет. Хорошо это или плохо - решать самому разработчику. Но автор (вроде бы) спрашивал именно про такой способ доступа.организовать в java можно, но иным образом. я уже расписал, что функциональность DataSet (Delphi) расползается по уровням Model+DAO (java). Чего вам не хватает для динамического приложения на java мне не ясно ;) Скажем так, что другой подход диктует иные решения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 23:36 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
VoDAAlexJmИ главное - способ доступа к данным на примере Qt/Delphi не претендует на оригинальность или, скажем (упаси б-г) "гениальность". Просто это - данная вещь, которая позволяет организовывать динамические приложения. Можно ли такое организовать в стандартных терминах Java/его библиотек? Похоже нет. Хорошо это или плохо - решать самому разработчику. Но автор (вроде бы) спрашивал именно про такой способ доступа.организовать в java можно, но иным образом. я уже расписал, что функциональность DataSet (Delphi) расползается по уровням Model+DAO (java). Чего вам не хватает для динамического приложения на java мне не ясно Скажем так, что другой подход диктует иные решения Я бы не стал так уверенно говорить про "можно". Можно конечно все. Но... какой ценой. Одни различия в концепции RTTI чего стоят. Хотя возможно у Вас есть примеры, с удовольствием бы посмотрел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 23:58 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
SynchrophasotronВсем доброго времени суток. Решил я потихоньку слезать с умирающего Delphi. И первой задачей стало клиент серверное (Java + Oracle) приложение. Использовал JDBC. Подключился все нормально. Работа с данными больших затруднений пока не вызывает. Но вот специальных визуальных компонентов для работы с набором данных (таких как DBGrid, DBEdit..) я не нашел. Не подскажете, как организовать отображение данных? (Использовать обыкновенные компоненты не особо хочется) Для standalone GUI можете посмотреть на jide, jasper reports. Ну и конечно про веб не забываем struts, tomcat, jsp, servlets, ajax,.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 16:09 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
iscrafmОдни различия в концепции RTTI чего стоят. Ну и где вменяемый апп сервер для вашей хвалёной дельфи? Был один да о тот сдулся ;) зы всё велосипедим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 19:22 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
вменяемый — читаем настраиваемый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 19:23 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
zalexakaiscrafmОдни различия в концепции RTTI чего стоят. Ну и где вменяемый апп сервер для вашей хвалёной дельфи? Был один да о тот сдулся ;) это как-то связано с поднятым вопросом о создании динамических приложений? p.s. делфи хоть и хваленая, но, к сожалению, не моя. p.p.s насчет велосипедов вопроса не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 19:35 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
iscrafmэто как-то связано с поднятым вопросом о создании динамических приложений? выражение динамические приложение ИМНО как масло маслянное :) iscrafmp.s. делфи хоть и хваленая, но, к сожалению, не моя. без комментариев iscrafmp.p.s насчет велосипедов вопроса не понял наверное сейчас в два клика сервак на пишется с управлением, мониторингом и корректным завершением всего безобразия. Я про это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 20:13 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
zalexakaiscrafmэто как-то связано с поднятым вопросом о создании динамических приложений? выражение динамические приложение ИМНО как масло маслянное :) это когда рабочее приложение создается по его декларативному описанию, динамически. zalexakaнаверное сейчас в два клика сервак на пишется с управлением, мониторингом и корректным завершением всего безобразия. Я про это. нет. в два клика серверы не пишутся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 20:21 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
zalexakaiscrafmОдни различия в концепции RTTI чего стоят. Ну и где вменяемый апп сервер для вашей хвалёной дельфи? Был один да о тот сдулся ;) зы всё велосипедим? Вапщет есть стандартный IIS который для любых виндовых модулей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 20:22 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
1024, И что там в IIS из коробки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 20:23 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
iscrafmэто когда рабочее приложение создается по его декларативному описанию, динамически. сталкивался лишь с декларативным гуем, впрочем к теме топика это не относится iscrafmнет. в два клика серверы не пишутся. ну и аминь :) зы тему считаю исчерпанной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 20:29 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
zalexakaiscrafmэто когда рабочее приложение создается по его декларативному описанию, динамически. сталкивался лишь с декларативным гуем, впрочем к теме топика это не относится GUI конечно к теме не относится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2010, 20:36 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=36538136&tid=2127101]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
184ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 522ms |

| 0 / 0 |
