как сгенерировать код класса java из базы данных sqlite для ORMLite

#sqlite #ormlite

#sqlite #ormlite

Вопрос:

Учитывая базу данных sqlite в качестве входных данных, я хочу знать, как я могу сгенерировать класс Java ORMLite, который сопоставляется с соответствующей базой данных. Большое спасибо.

Ответ №1:

Вы могли бы попробовать Telosys Tools, плагин Eclipse для генерации кода, работающий из существующей базы данных с настраиваемыми шаблонами Velocity

Смотрите: https://sites.google.com/site/telosystools

Набор шаблонов доступен на GitHub для JPA :

//github.com/telosys-tools-community/jpa-templates-TT206-v2

Класс Java для JPA очень близок к ORMLite, поэтому можно адаптировать шаблоны в oder для генерации классов Java ORMLite

Глобальное руководство по Spring MVC и JPA :

//sites.google.com/site/telosystutorial/springmvc-jpa-springdatajpa (вы можете просто рассмотреть пакет JPA)

Ответ №2:

Я новичок в ORMLite, и у меня такая же потребность.

Для SQLite я читаю и анализирую инструкцию SQL в поле «sql» таблицы «sqlite_master».

Хотя он хорошо работает с таблицами, мне пришлось найти другой способ работы с представлениями; теперь я использую Excel для загрузки данных из представлений в объекты ADO и разбора свойств полей для генерации текста определения класса Java POJO, затем вставляю его в IDE.

Это не идеально, хотя и сэкономило мне много времени.

Ответ №3:

Это не то, что ORMLite может сделать сам — вам придется помочь ему. Если вы хотите отредактировать свой вопрос и включить свою схему SQLite, я отредактирую свой ответ, чтобы включить некоторые необходимые объекты.

Например, вот некоторые сопоставления полей:

  • ЦЕЛОЕ ЧИСЛО -> int
  • VARCHAR -> String
  • ЛОГИЧЕСКОЕ значение -> boolean
  • ВРЕМЕННАЯ МЕТКА -> Дата
  • BIGINT -> long …

Я бы предложил создать класс и использовать TableUtils.getCreateTableStatements(ConnectionSource, Class<T>) метод, чтобы посмотреть, какая схема выгружается и как она сравнивается с вашей существующей схемой. Затем добавляйте или изменяйте поля, пока не получите максимально близкое соответствие.