Я изучаю, как использовать Play Framework, чтобы получить и установить постоянные объекты. Я использую JPA 2 с внедрением Hibernate, используя Oracle DB. Я прочитал, что Play управляет транзакциями путем расширения класса модели. Я добавил в build.sbt → val appDependencies = Seq("org.hibernate" % "hibernate-entitymanager" % "4.2.2.Final")
В application.conf я добавил ->
db.default.driver=oracle.jdbc.driver.OracleDriver
db.default.url="whatever"
db.user....
db.pass....
ebean.datasource.default=DefaultDS
ebean.default="model.*"
ebean.datasource.factory=jndi
Я добавил аннотацию @Entity
к классу Person, расширенную модель из play.db.ebean.Model
, а в основном классе создал нового человека и сделал p.update();
Я получаю javax.persistence.PersistenceException: The default EbeanServer has not been defined
.
Что я упустил?
В Play вы можете использовать либо Ebean, либо другой поставщик JPA. Самое простое решение - использовать Ebean, поскольку он лучше интегрирован с Play.
В этом случае вам не нужна никакая зависимость от спящего режима, вы можете удалить его и просто использовать javaEbean
(и зависимость для вас, конечно, JDBC-драйвер).
В вашем application.conf
вам, вероятно, не нужен JNDI-зарегистрированный источник данных, поэтому чего-то подобного должно быть достаточно:
db.default.driver=...
db.default.url=...
db.default.user=...
db.default.password=...
ebean.default="model.*"