Краткий ответ: зависит от сложности, которую вы хотите поддерживать.
Длинный ответ:
Прежде всего, ORM (реляционное отображение объектов - отображение базы данных, как вы его называете) и JNDI (интерфейсы именования и каталогов Java) - это две разные вещи.
Первый, как вы уже знаете, используется для сопоставления таблиц базы данных с классами и объектами. Второе - предоставить механизм поиска ресурсов, это могут быть DataSources, Ejb, Queues или другие.
Может быть, вы имеете в виду "JDBC".
Теперь что касается вашего вопроса: если это так просто, возможно, нет необходимости внедрять ORM. Числовые таблицы должны быть не более 5 - 10, а операции, я думаю, очень просты.
Вероятно, будет достаточно использовать простой JDBC.
Если вы используете шаблон DAO, вы можете изменить его позже, чтобы при необходимости поддержать стратегию ORM.
Вот так:
Скажем, у вас есть таблица сотрудников
Вы создаете Employee.java со всеми полями БД вручную (это не должно занять слишком много времени) и EmployeeDaO.java с такими методами:
+findById( id ): Employee
+insert( Employee )
+update( Employee )
+delete( Employee )
+findAll():List<Employee>
И реализация довольно проста:
select * from employee where id = ?
insert into employee ( bla, bla, bla ) values ( ? , ? , ? )
update etc. etc
Когда (и если) ваше приложение становится слишком сложным, вы можете изменить реализацию DAO. Например, в методе «select» вы меняете код для использования объекта ORM, который выполняет операцию.
public Employee selectById( int id ) {
// Commenting out the previous implementation...
// String query = select * from employee where id = ?
// execute( query )
// Using the ORM solution
Session session = getSession();
Employee e = ( Employee ) session.get( Employee.clas, id );
return e;
}
Это всего лишь пример, в реальной жизни вы можете позволить абсолютной фабрике создать ORM DAO, но это оффтоп. Дело в том, что вы можете начать с простого и, используя шаблоны проектирования, вы можете изменить реализацию позже, если это необходимо.
Конечно, если вы хотите изучить технологию, вы можете начать с одного стола.
Выбор того или иного решения (решения ORM) зависит в основном от используемой вами технологии. Например, для JBoss или других продуктов с открытым исходным кодом Hibernate отлично подходит. Это с открытым исходным кодом, есть много ресурсов, где учиться. Но если вы используете что-то, что уже имеет Toplink (например, сервер приложений Oracle), или если база уже построена на Toplink, вы должны остаться с этой платформой.
Кстати, с тех пор, как Oracle приобрела BEA, они сказали, что заменяют Kodo (каркас веб-логической устойчивости) на toplink в теперь называемом «Oracle Weblogic Application Server».
Я оставляю вам некоторые ресурсы, где вы можете получить больше информации об этом:
В этой книге «Шаблоны архитектуры корпоративных приложений» Мартин Фаулер объясняет, где использовать то или иное, вот каталог. Взгляните на архитектурные шаблоны источников данных и объектно-реляционные поведенческие шаблоны:
Каталог PEAA
DAO (объект доступа к данным) является частью основного каталога шаблонов J2EE:
Шаблон DAO
Это начальное руководство по Hibernate:
Hibernate
Официальная страница Toplink:
Toplink
Наконец, я «думаю», что хорошей идеей JPA является то, что вы можете поменять поставщиков в последнее время.
Начните с простого, а затем развивайтесь.
Надеюсь, это поможет.