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


Изучаете 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.2024) поддерживается конвертация справочников, перечислений (преобразуются в тип Enum) и регистров сведений, теоретически должны поддерживаться ПВР и ПВХ. Поддерживается конвертация табличных частей указанных типов в отдельные классы, которые в самом объекте описываются как списочный массив (List).

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

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

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

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

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

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

6 Comments

  1. baton_pk

    Ну, классы и таблички гонять — это мелочи. Вот когда за интерфейс возьмётесь, почитаю с большим любопытством.

    Reply
  2. Evil Beaver

    А внутреннюю логику прикладных объектов вы уже реализовали? Итоги регистров, скажем? Или только перекачку данных в Hibernate?

    Reply
  3. detec

    Регистры накопления не поддерживаются. Функционала перекачивания данных тоже нет. Есть возможность перенести структуру таблиц, т.е. DDL-данные. Т.е. когда будет запущено ваше приложение на Java и будет первое обращение к БД посредством Hibernate, то последний по аннотациям создаст таблицы в БД с ключами и индексами, приближенными к логике 1С-ных типов объектов.

    Reply
  4. fuxic

    а с чего в начинали изучать jv?

    Reply
  5. detec

    (4) Пару месяцев в свободное время читал книгу Кэй Хорстмана «Java. Библиотека прфессионала».

    Reply
  6. www2000

    Добрый день,

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

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *