Как получить экземпляр Jdbi 3 от JPA - PullRequest
0 голосов
/ 10 декабря 2018

В последнее время я искал jdbi для более простых проектов.Мое приложение уже использует JPA.Для простого побочного модуля я бы хотел использовать jdbi, так как нет запросов, специфичных для баз данных.

Тем не менее, я получил

@PersistenceContext(unitName = "puName")
private EntityManager entityManager;

protected Jdbi getJdbi() {
    return Jdbi.create( /* ? */);
}

Хорошо, ну и чтомне нужно заполнить?Я видел, как развернуть Session.class, но я не знаю, как это мне поможет.Jdbi использует либо DataSource, либо URL.

Я пытаюсь использовать JDBI 3 и не хочу использовать плагин jpa.Я думаю, что плагин jpa мне все равно не поможет, потому что я думаю, что он просто позволит мне повторно использовать jpa entites (это не то, что я хочу использовать).Цитата из документации: «Честно говоря, просто оторвите повязку и переключитесь на Jdbi».

Итак ... это значит, что я мог бы просто вставить DataSource?Или использовать Jndi для получения источника данных?Но разве этот контейнер не специфичен (именование)?

Например, не изменится ли это, если я использую wildfly один день и открою свободу на следующий?

-

Я также изучил querydsl, чтобы избавиться от JPA.

  • QueryDSL-JPA просто добавит более приятный слой dsl поверх JPA, но сгенерирует код из объектов JPA.
  • QueryDSL-SQL сгенерирует SQL-код, но сгенерирует Q * -классы из существующей базы данных (не совсем то, что я искал: мне нужно сгенерировать таблицу-пример заранее? Правда?).Но мне нравится идея о том, что querydsl-sql будет генерировать для меня SQL вместо реализации jpa.
  • Я бы хотел использовать Jdbi, поэтому я могу использовать неизменяемые и не иметь "entitymanager", привязанного кбобы прокси, которые могут быть изменены случайно.
...