2011-01-25 3 views
2

У меня есть опыт работы с Toplink для перевода объектов в базу данных и наоборот. Но это все было частью JSP-сайта, и теперь я сделал с ним что-то вроде EJB. Теперь мой вопрос: хорошо ли работать с такими вещами, как Toplink в приложении Java Desktop, или чаще используется для использования родных sql-файлов с Java?Лучший способ разработки Java с DB

Возможно, некоторый опыт проф. разработчики могут быть хорошими. Мне нужно разработать серьезное приложение для клиента. Я делаю это в Java, и я собираюсь хранить данные в базе данных.

Thanks

ответ

3

ОРМ хорошо, если ваша модель данных хорошо структурированы, не слишком сложны и, скорее всего, если у вас есть контроль над ним.

Устаревшие базы данных или плохо смоделированные более сложно представить с помощью ORM, и это будет сильно обескуражено, так как ваше приложение добавит дополнительные сложности по сравнению с теми, которые подразумевает сама модель.

Если вам удобно с помощью какого-либо инструмента ORM, такого как Hibernate, и ваша база данных достаточно хорошо сделана, идите на это. Они, несомненно, сэкономит вам много кода шаблона и имеют хороший код оптимизации запросов под капотом. В противном случае вы можете использовать JDBC напрямую или какую-либо другую инфраструктуру для упрощения использования JDBC, но при этом используете простой SQL. В таких ситуациях я рекомендую MyBatis.

+0

+1 для устаревшего совета db – bluish

0

также зависит от объема базы данных. Для баз данных с огромными данными попробуйте использовать спящий режим. Это может быть большим подспорьем, а не писать JDBC код

1

Это зависит от случаев использования

ORM технологии могут хорошо абстрагироваться от специфики базы данных и позволит вам сосредоточиться на модели домена. Однако существуют ситуации, когда использование уровня ORM не подходит (чрезвычайно большие наборы данных могут вызвать проблемы с производительностью, например, схемы базы данных, которые трудно сопоставить с объектами, - это другое).

Я бы рекомендовал использовать технологию, совместимую с JPA, такую ​​как Hibernate. Таким образом, вы используете ORM, который реализует стандарт Java, и вы можете более или менее заменять и удалять реализации.

Для всего остального, то JDBC является гибким другу

2

TopLink (и EclipseLink/JPA) работают так же хорошо, как и в настольном приложении, как в приложении на стороне сервера. На самом деле TopLink существует с 90-х годов с приложениями Smalltalk с клиент-сервером до того, как серверная сторона была популярна.

Смежные вопросы