Как создать код класса Java из базы данных sqlite для ORMLite - PullRequest
5 голосов
/ 11 апреля 2011

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

Ответы [ 3 ]

3 голосов
/ 05 декабря 2014

Вы можете попробовать 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)

1 голос
/ 20 октября 2014

Я новичок в ORMLite и тоже нуждаюсь в этом.

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

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

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

0 голосов
/ 12 апреля 2011

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

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

  • INTEGER -> int
  • VARCHAR -> String
  • BOOLEAN -> логический
  • TIMESTAMP -> дата
  • BIGINT -> long ...

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

...