Есть ли инструмент для создания объектов JDO из существующей базы данных? Я предпочитаю потрясающе выглядящий плагин Eclipse, который я мог бы использовать для создания и обслуживания объекта, но кажется, что в настоящее время он не существует. Существуют ли другие простые инструменты для создания объектов базы данных?
Создание объектов JDO из существующей базы данных
Ответы (1)
Объекты JDO не являются простыми оболочками для строк базы данных (хотя вы можете реализовать свои объекты JDO как простые оболочки для строк базы данных, если хотите). Таким образом, большинство автоматизированных инструментов не будут знать, как должен быть представлен объект, только просматривая базу данных.
Например, такой объект, как:
public class Person {
private List<PhoneNumber> phoneNumbers;
...
public List<PhoneNumber> getPhoneNumbers() {
...
}
}
может иметь JDO, предварительно извлекающий все телефонные номера для прямого включения в объект. В реляционной базе данных это, вероятно, будет сделано путем соединения таблицы базы данных PhoneNumber с таблицей базы данных Person при создании объекта Person.
Другие реализации могут выглядеть так
public class PhoneNumber {
public Person getPerson() {
...
}
}
И заставить пользователя извлекать телефонные номера человека в отдельном запросе к базе данных. Для инструмента общего назначения просто невозможно предсказать, какой способ вы хотите использовать. С двумя вариантами (представленными здесь) довольно легко сказать: «Сделайте это настраиваемым!» Однако после того, как вы добавите восемь или более независимых вариантов в комбинации, неясно, будет ли проще настроить генерацию класса (в отличие от написания класса напрямую).
Не говоря уже о том, что JDO не был разработан для генерации классов, на самом деле он был разработан для того, чтобы ваши написанные от руки классы сохранялись без генерации, потому что современные технологии генерации классов оставляли много видимого хлама (нежелательные шаблоны именования, выявленные конфликтующие интерфейсы и методы и т. д.).