gifts2017

Генерирование кода POJO-классов для Java

Опубликовал Андрей Д. (detec) в раздел Программирование - Инструментарий

Изучаете Java или хотите переехать с платформы 1С 8 на сервер приложения с Java? Данная обработка под версию 8.3.6 сгенерирует код Java-классов для метаданных 1С с аннотациями под Фреймворк Hibernate.

Когда я начал изучать Java, то в целях обучения я решил реализовать функционал одной своей самописной конфигурации на изучаемом языке. Столкнулся с тем, что в IDE Eclipse, в частности, нет полноценного функционала для быстрого создания полей классов, которые хранятся в базе данных. По крайней мере, как это делается в Конфигураторе. Также мне было лень переводить на английский язык имена полей, писать аннотации с описанием типа поля. Так родилась идея автоматизировать рутинное кодописательство хранимых в базе классов Java (т.н. POJO-классы) средствами 1С 8. :))

Google Translator API, на удивление, оказался платным сервисом. Поэтому в основу обработки лёг Bing Translator API, в месяц можно перевести бесплатно до 2 млн. символов. Всё это, разумеется, при условии регистрации своего "приложения" на портале разработчиков. В обработке нужно указать реквизиты авторизации на сервисе, чтобы работал перевод.

В этой версии обработки (на 21.05.2015) поддерживается конвертация справочников, перечислений (преобразуются в тип Enum) и регистров сведений, теоретически должны поддерживаться ПВР и ПВХ. Поддерживается конвертация табличных частей указанных типов в отдельные классы, которые в самом объекте описываются как списочный массив (List).

Результатом работы обработки является архив с файлами исходного кода классов и сгенерированные для этих классов строки вид <mapping class="com.company.db.Users" /> для файла hibernate.cfg.xml. Эти файлы можно импортировать в пакет классов в Eclipse через контекстное меню Import...

Аннотация работает для версии фреймворка Hibernate 4.3.8. Для запуска обработки должна быть установлена платформа 8.3.6.

Обновление от 27.05.2015.

1. Добавлен поиск по словарю (в коде обработки) для исключеня явно неудачных вариантов автоматического перевода.

2. Реализовано обрезание определённого артикля the в самом начале перевода реквизита.

3. Внесены небольшие исправления в аннотацию прикрепления табличных частей.

Скачать файлы

Наименование Файл Версия Размер
СозданиеКодаPOJOКлассовДляHibernate.epf 3
.epf 18,41Kb
27.05.15
3
.epf 18,41Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергѣй Батанов (baton_pk) 21.05.15 19:55
Ну, классы и таблички гонять - это мелочи. Вот когда за интерфейс возьмётесь, почитаю с большим любопытством.
Evil Beaver; awk; +2 Ответить
2. Андрей Овсянкин (Evil Beaver) 22.05.15 10:42
А внутреннюю логику прикладных объектов вы уже реализовали? Итоги регистров, скажем? Или только перекачку данных в Hibernate?
3. Андрей Д. (detec) 22.05.15 14:57
Регистры накопления не поддерживаются. Функционала перекачивания данных тоже нет. Есть возможность перенести структуру таблиц, т.е. DDL-данные. Т.е. когда будет запущено ваше приложение на Java и будет первое обращение к БД посредством Hibernate, то последний по аннотациям создаст таблицы в БД с ключами и индексами, приближенными к логике 1С-ных типов объектов.
4. Алекс Климанов (fuxic) 24.05.15 15:21
а с чего в начинали изучать jv?
5. Андрей Д. (detec) 25.05.15 09:18
(4) Пару месяцев в свободное время читал книгу Кэй Хорстмана "Java. Библиотека прфессионала".
6. www2000 www2000 (www2000) 27.05.15 10:38
Добрый день,

идея отличная, но посоветовал бы сделать возможность своего словаря, так как ПолноеНаименование обращать в FullNameOfThe как-то не очень.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа