Разработчики на Ruby on Rails и, не побоюсь этого слова, CakePHP знают, как удобно в этих фреймворках реализована работа с базами данных через ORM, а конкретно Active Record.
Вдоволь после этого намаявшись в Java с прямой работой с SQL и получавшимся АБСОЛЮТНО нечитаемым и нерасширяемым кодом, решил, что без ORM я теперь никуда. Но хотелось чего-нибудь легковесного, для чего не нужно было бы писать несколько страниц кода для связи одной таблицы. Остановился на ActiveObjects.
Для связи таблицы достаточно создать не класс даже, а интерфейс. Как видно на скриншоте, первичные ключи поддерживаются автоматически, а внешние можно отображать в соответствующие связям интерфейсы.
Аннотации можно не писать, если база тоже создаётся с нуля - в этом случае таблицы можно создавать по описаниям интерфейсов, и ActiveObjects применит свои собственные представления о том, как должны называться поля. В моём случае была уже существующая база MSSQL с названиями полей на русском, отсюда и необходимость в аннотациях.
Для гуя используется Qt Jambi - он быстрее Swing и ест меньше памяти, да и дизайнер гораздо шустрее, чем (о ужас) Eclipse Visual Editor. Правда, дизайнер я запускаю отдельно, потому что встроенная в Eclipse версия - то ещё глюкалово.
rdesktop подключён к ноутбуку с оффтопиком XP и SQL Server Express с рабочей версией базы (на нормальном сервере стоит нормальный SQL Server). Поскольку я человек ленивый и набирать параметры rdesktop мне лень, использую gnome-rdp. Переключалка раскладок работает.
Шрифты - говно.
>>> Просмотр (1280x1024, 272 Kb)