Предназаначена для быстрого создания GUI Swing приложений для
работы с таблицами БД.
Вобщем-то говоря аналог Бордандовской dbSwing но
1. Исходники открыты
2. Построена поверх O/R мапинга (Hibernate) что позволят
использовать ее в приложениях постренных на базе MCV
3. Очень гибкая, построена на интерфейсах, легко расширяема.
--
WBR Денис Цыплаков /* ICQ UIN : 108477017 */
Знающий не говорит, говорящий не знает
Здравствуйте, Денис Цыплаков, Вы писали:
ДЦ> Вобщем-то говоря аналог Бордандовской dbSwing но ДЦ> 1. Исходники открыты
Где лицензия?
ДЦ> 2. Построена поверх O/R мапинга (Hibernate) что позволят ДЦ> использовать ее в приложениях постренных на базе MCV
А не является ли использование аннотаций в примере смешением слоёв Model и View?
Re[2]: Анонс JDBEdit
От:
Аноним
Дата:
18.05.06 12:08
Оценка:
Здравствуйте, denis_krg, Вы писали:
_>Здравствуйте, Денис Цыплаков, Вы писали:
ДЦ>> Библиотека JDBEdit — домашний сайт http://rtec.ru/jp/jdbedit
_>Чтой-то народ не откликается на это (сюдя по форуму). Вопрос — кто-нибудь пользуется кроме вашей компании?
Нет сугубо внутренний продукт это так сказать первый внешний релиз
Re[2]: Анонс JDBEdit
От:
Аноним
Дата:
18.05.06 12:13
Оценка:
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, Денис Цыплаков, Вы писали:
ДЦ>> Вобщем-то говоря аналог Бордандовской dbSwing но ДЦ>> 1. Исходники открыты B>Где лицензия?
Нет лицензии. Т.е. в принципе всем все можно. Это не есть совсем хорошо, но как правильно не знаю. Может кто, что присоветует?
ДЦ>> 2. Построена поверх O/R мапинга (Hibernate) что позволят ДЦ>> использовать ее в приложениях постренных на базе MCV B>А не является ли использование аннотаций в примере смешением слоёв Model и View?
Да является в какой-то степени, но как показали исследования проведенные в дебрях наших лабораторий смешение Model и View для определенного класса приложений не вредно я даже полезно. Тем более, что это не есть 100% смешение. Я понимаю, что это вопрос несколь ко спорный, я готов по этому поводу подискутировать. Правда сейчас я в командитровке и Интернет мне доступен эпизодично и геморойно.
___
Денис
Re[2]: Анонс JDBEdit
От:
Аноним
Дата:
18.05.06 12:26
Оценка:
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, Денис Цыплаков, Вы писали:
ДЦ>> Вобщем-то говоря аналог Бордандовской dbSwing но ДЦ>> 1. Исходники открыты B>Где лицензия?
А никто не видел перевода на русский Апачевской лицензии?
Здравствуйте, Аноним, Вы писали:
А> Нет лицензии. Т.е. в принципе всем все можно. Это не есть совсем хорошо, но как правильно не знаю. Может кто, что присоветует?
Ну, то есть как? Даю я кому-нибудь ссылку на проект. Он берет этот код и затуливает его за деньги? http://www.opensource.org/licenses
GPL/LGPL
B>>А не является ли использование аннотаций в примере смешением слоёв Model и View?
А> Да является в какой-то степени, но как показали исследования проведенные в дебрях наших лабораторий смешение Model и View для определенного класса приложений не вредно я даже полезно. Тем более, что это не есть 100% смешение. Я понимаю, что это вопрос несколь ко спорный, я готов по этому поводу подискутировать.
Согласен что для некоторого класса приложений это вполне нормально. Но такое решение, ИМХО, сужает область применения. Не очень понятно как модель мапится хибернейтом. И возможны ли какие-то другие варианты persistance?
Re[4]: Анонс JDBEdit
От:
Аноним
Дата:
18.05.06 20:15
Оценка:
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, Аноним, Вы писали:
А>> Нет лицензии. Т.е. в принципе всем все можно. Это не есть совсем хорошо, но как правильно не знаю. Может кто, что присоветует?
B>Ну, то есть как? Даю я кому-нибудь ссылку на проект. Он берет этот код и затуливает его за деньги? B>http://www.opensource.org/licenses B>GPL/LGPL
GPL мне категорически не нравится, LGPL — не знаю — не уверен. Но в принципе если кто-то продаст за деньги — мне будет интересен сам факт не более. Продать тоже надо уметь если сумеет я расскажу об этом нашим менеджерам — пусть учатся — они так не умеют.
Не хотелось бы чтобы
1. Кто-то выдавал за свое — это сейчас возможно
2. Кто-то отобрал проект начав разрабатывать самостоятельно и сделав такую лицензию, что наша разработка станет невозможной — такое может быть но, на мой взгляд вероятность этого, пока по крайней мере, практически равна нулю.
B>>>А не является ли использование аннотаций в примере смешением слоёв Model и View?
B>Согласен что для некоторого класса приложений это вполне нормально. Но такое решение, ИМХО, сужает область применения. Не очень понятно как модель мапится хибернейтом. И возможны ли какие-то другие варианты persistance?
,
Отсроумие на лестнице — пока добирался до кемпинга, ужинал читал доки — сообразил что сказать:
1. persistance можно приделать любой. Сейчас в качестве tutorial разрабатывается simple-XML, в планах наверное JDO но не знаю, что лучше выбрать. И в отдаленных планах 3-х звенка с EJB. Архитектурно это уже сейчас не противоречит, но надо просто классы под это сделать а времени на все нет. Небюджетный проект.
2. На самом дела внутри иерархии классов Model и View не смешиваются. Хуже того, возможно иметь нескольо View и быстро и просто выбирать, какой конкретно будет использоваться на данной панели, форме, в данной таблице. Смешение идет только на стадии описания дефолного View аннотациями класса данных, можно этого не делать и описывать View отдельно в XML дескрипторе. В версии 1.0 это не показано, я счел функциональнсть сырой и решил — надо полировать то, что есть.
3. Библиотека делалась в расчете на простое и бескровное масштабирование. Для простого случая кое-что во внутренностях избыточно. Но избыточность эта снаружи не видна. Все что можно сделано на интерфейсах и ни в синтаксисе, ни в семантике интерфейсов Hibernate не упоминается.
---
Денис
PS Все спать пора, завтра еще кусы читать, а читать курсы по свим продуктам занятие не для слабонервных.
Re[2]: Анонс JDBEdit
От:
Аноним
Дата:
19.05.06 11:36
Оценка:
B>А не является ли использование аннотаций в примере смешением слоёв Model и View?
Не вижу в этом ничего страшного.
Библиотека создавалась как простое и быстрое средство для написания визуальных приложений для работы с БД.
Можно конечно разделить и вынести описание из аннотаций ещё и в xml, но это в некоторой степени усложнит написание приложений.
Взять тот же hibernate — использование маппинга через аннотации удобнее чем через xml файлы.
Но при работе с hibernate может чаще возникать необходимость описания маппинга в виде xml.
В данном же случае большой необходимости в этом нет.
Марина.
Re[4]: Анонс JDBEdit
От:
Аноним
Дата:
19.05.06 11:44
Оценка:
Здравствуйте, Blazkowicz, Вы писали:
B>Не очень понятно как модель мапится хибернейтом.
Обычным способом для hibernate — аннотации или xml файлы с маппингом.
Здравствуйте, Аноним, Вы писали:
B>>А не является ли использование аннотаций в примере смешением слоёв Model и View? А>Не вижу в этом ничего страшного. А>Библиотека создавалась как простое и быстрое средство для написания визуальных приложений для работы с БД.
Теперь становится не понятно для чего тогда нужна модель вообще. Если цель приложения работать с БД. А не с бизнес логикой, то почему бы просто не работать с базой через JDBC. Для чего ORM?
А>Можно конечно разделить и вынести описание из аннотаций ещё и в xml, но это в некоторой степени усложнит написание приложений.
Понимаю.
Re[4]: Анонс JDBEdit
От:
Аноним
Дата:
19.05.06 12:31
Оценка:
Здравствуйте, Blazkowicz, Вы писали:
B>>>А не является ли использование аннотаций в примере смешением слоёв Model и View? А>>Не вижу в этом ничего страшного. А>>Библиотека создавалась как простое и быстрое средство для написания визуальных приложений для работы с БД.
B>Теперь становится не понятно для чего тогда нужна модель вообще. Если цель приложения работать с БД. А не с бизнес логикой, то почему бы просто не работать с базой через JDBC. Для чего ORM?
O/R mapping берёт на себя большую часть по общению с БД, предоставляя нам конкретные объекты, что в принципе облегчает написание многих приложения для работы с БД. Но вообще "зачем нужен ORM?" — это уже не совсем к библиотеке. По этому поводу можно найти много статей.
К тому же библиотека предоставляет возможность работы не только с базами данных, но и с любыми хранилищами.
В конкретной реализации имеется возможность работы через hibernate.
Но если нужно, пользователь может описать любой другой источник данных, который, в принципе, может даже напрямую через jdbc работать с БД (если этого очень хочется).
В данном случае возможности не ограничены, нужно только реализовать пару интерфейсов описанных в библиотеке.
Марина.
Re[6]: Анонс JDBEdit
От:
Аноним
Дата:
19.05.06 12:49
Оценка:
Здравствуйте, Blazkowicz, Вы писали:
А>>Обычным способом для hibernate — аннотации или xml файлы с маппингом.
B>Просто в примерах этого нет.
B>Тоесть выходит модель будет содержать оба маппинга. Как Hibernate так и JDBEdit?
Если в конкретнои приложении будет использоваться доступ к хранилищу через hibernate, то маппинг к нему описываетмя отдельно
(т. е. через xml или аннотации).
Если используется другой источник данных, то, естественно, маппинг в hibernate уже не нужен, необходим только маппинг для JDBEdit.
B>Просто из приемра это не очевидно.
Учтём ....
Вообще в примерах есть отдельный пакет, который так и называется "mapping", где описан маппинг в hibernate через xml файлы.
Здравствуйте, Аноним, Вы писали:
B>>Тоесть выходит модель будет содержать оба маппинга. Как Hibernate так и JDBEdit?
А>Если в конкретнои приложении будет использоваться доступ к хранилищу через hibernate, то маппинг к нему описываетмя отдельно
Ну как же "отдельно", когда через аннотации только получается только "вместе"? Модель то одна. А маппить надо и туда и туда.
А>Если используется другой источник данных, то, естественно, маппинг в hibernate уже не нужен, необходим только маппинг для JDBEdit.
В тексте сайта Hibernate позиционируется как неотъемлимая часть библиотеки.
А>Вообще в примерах есть отдельный пакет, который так и называется "mapping", где описан маппинг в hibernate через xml файлы.
А качать пока желания не возникло. Все выводы делаю по информации на сайте.
Здравствуйте, Blazkowicz, Вы писали:
B>Ну как же "отдельно", когда через аннотации только получается только "вместе"? Модель то одна. А маппить надо и туда и туда.
1. Для работы с JDBEdit необходимо задать ряд аннотация из этой библиотеки, используемых для описания объекта.
2. Для работы с hibernate необходимо написать xml файлы маппинга, либо тоже аннотации, используемые hibernate'ом для маппинга объекта на таблицы БД.
Эти два пунта не связаны. И описываются отдельно. У них нет общих аннотаций или чего либо ещё.
А>>Если используется другой источник данных, то, естественно, маппинг в hibernate уже не нужен, необходим только маппинг для JDBEdit.
B>В тексте сайта Hibernate позиционируется как неотъемлимая часть библиотеки.
В библиотеке на данном этапе реализована работы с хранилищем, предоставляемым данные через hibernate.
Но если пользователь реализует другой источник данных, то, естественно, маппинг в hibernate уже не нужен. Так как он вообще (hibernate) использоваться уже не будет.
Структура библиотеки позволяет ей работать с абстрактным источником данных, то есть с любым написанным пользователем (конечно учитывая интерфейсы библиотеки).
Кроме того, интерфейсы источника данных таковы, что предоставляют пользователю большие возможности по реализации сложной внутренней логики приложения (например через триггеры и др.) и при не задумываясь над работой с самим хранилитщем (с такими операциями как вставка, удаление и т. д. и с сопутствующей им логикой).
B>А качать пока желания не возникло. Все выводы делаю по информации на сайте.
Документация будет дорабатываться и выкладываться на сайт.
Здравствуйте, Аноним, Вы писали: А>Но если нужно, пользователь может описать любой другой источник данных, который, в принципе, может даже напрямую через jdbc работать с БД (если этого очень хочется). А>В данном случае возможности не ограничены, нужно только реализовать пару интерфейсов описанных в библиотеке.
Хех, попробовать чтоли sqlg прикрутить Поможете в случае чего?
Кстати, посмотрел — мне бы не хватало полноценного undo, множественного выделения (для массового удаления/изменения полей), поддержки упорядоченных списков; в общем, много хочу
Здравствуйте, jpx, Вы писали:
jpx>Хех, попробовать чтоли sqlg прикрутить Поможете в случае чего?
поможет чем сможем ...
jpx>Кстати, посмотрел — мне бы не хватало полноценного undo, множественного выделения (для массового удаления/изменения полей), поддержки упорядоченных списков; в общем, много хочу
1. полноценный undo — это не очень понятно ... можно подробнее — чего бы хотелось?
2. множественное выделение — это хорошее предложение, сделаем. Скоро будет новый релиз — постараемся туда добавить эту функциональность.
3. упорядоченные списки — это в смысле сортировки? Если да, то это уже есть.
Имеется возможность задания фильтров и сортировок на этапе выборки из базы.
Кроме этого имеется возможность фильтрации и сортировки данных уже в памяти (после выборки из БД).
Это осуществляется с помощью трансформеров (конкретнее AdditionalTransformer).
Для боллее хитрых фильтраций (которых нету в библиотеке) можно написать свой трансформер, который будет промежуточным звеном между поставщиками и потребителями данных. В примерах — есть пример с использованием фильтраций и сортировок.
Здравствуйте, Бакланова Марина Анатольевна, Вы писали:
БМА>1. полноценный undo — это не очень понятно ... можно подробнее — чего бы хотелось?
То есть удаляю строку — а undo ее вставляет обратно. История редактирования записей также, и т.д.
БМА>3. упорядоченные списки — это в смысле сортировки? Если да, то это уже есть.
Имеется ввиду вот что: есть поле, типа "номер записи". В принципе, это обычное поле, но с ним такая проблема, что при вставке в начало списка из 1000 записей одной записи это поле обновляется у всех 1000 записей; желательно для оптимизации использовать один UPDATE (типа UPDATE rec_num=rec_num+1 WHERE rec_num>=?), а не 1000 UPDATEов для всех записей.
Это также означает, что вставка записей идет не всегда в конец, а в текущем месте.
Это сложно, в общем
БМА>Если будут ещё предложения — всегда рады
Да, еще неплохо бы сделать работу с буфером обмена для строк таблиц (можно не обязательно "настоящий" — системный, а хотя бы на уровне приложения).
Хотя, если сказать честно, свое это у меня есть, но оно не столь гибко и вообще довольно криво
Re[8]: Анонс JDBEdit
От:
Аноним
Дата:
19.05.06 16:21
Оценка:
Здравствуйте, jpx, Вы писали:
БМА>>1. полноценный undo — это не очень понятно ... можно подробнее — чего бы хотелось? jpx>То есть удаляю строку — а undo ее вставляет обратно. История редактирования записей также, и т.д.
В случае когда база многопользовательская undo мне представляется весьма небезобидной операцией.
Делается как раз легко, но строка котрая на момент удаления была для базы валидной может через э
несколько минут таковой уже не оказаться. Причем это может происходить по разными причинам как
связанным с бизнес логикой, так и с устройством БД.
Простой пример autoincrement — удаляем верхнюю строку с id == 10
добавляем строку (например с другого рабочего места) у нее id == 10
т.к. верхнюю строку мы удалили некоторые БД выдадут следующий id = 10
делаем undo — все вставить строку с тем-же id мы уже не можем.
конечно можно id давать новый, но такого рода сценариев может множество и от всех
уберечься непросто.