Переход с Castor на JPA
-
03-07-2019 - |
Вопрос
Я пытаюсь сделать свое java-приложение более соответствующим стандартам, и одна из самых больших проблем, с которыми я сталкиваюсь, - это перевод нашего ORM-фреймворка с Castor JDO на реализацию JPA (думая либо о Hibernate, либо о DataNucleus).У нас есть собственный уровень абстракции постоянных данных, поэтому базовый рефакторинг можно легко выполнить, добавив реализацию JPA в наш API и создав сопоставление.Затем это становится более сложным, мы используем Castor OQL, не сильно, но и не незначительно, и это не абстрагировано.Мы также выполняем необработанные запросы JDBC непосредственно к базе данных, но для получения соединения проходим через Castor.Мы используем ehcache для кэширования наших объектов между несколькими серверами.
Вопросы:
1) В целом, существуют ли какие-либо существенные различия в том, как Castor и JPA обрабатывают постоянные объекты, о которых я должен знать?
2) Предлагает ли язык запросов JPA аналогичные функции, что и Castors OQL?или мне нужно будет заглянуть в JDO?
3) Могу ли я использовать ecache с любыми реализациями JPA?
4) Кто-нибудь знает об инструменте, который может конвертировать из Castor mapping в JPA mapping?
наконец, я полагаю, есть какие-нибудь мысли о сильных сторонах различных реализаций JPA?Hibernate привлекателен, потому что он так широко используется, но меня больше всего беспокоит простота, поэтому, возможно, DataNucleas, EclipseLink (или что-то еще) могли бы послужить мне лучше?
Спасибо,
питер Коуэн
Решение
Ссылка на затмение это отличный выбор при переходе с Castor, поскольку EclipseLink является поставщиком JPA и, как и Castor, поддерживает сопоставление объекта с XML (используя Мокси компонент).