Hi all,
I seem to run into a problem I cannot solve. I am trying to connect to
my MySQL-database, but all I get is: PersistenceException: No
Persistence provider for EntityManager named DefaultDS. (I will
include the full call stack in the end of the mail).
I have tried almost everything, and was hoping anyone here had a
solution. I will supply all the files and the call-stack below.
Any help would be very much appreciated.
My persistence.xml in conf/META-INF looks as follows:
-------------------------------------------------------------------------------------
<persistence xmlns="
http://java.sun.com/xml/ns/persistence"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/
persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="DefaultDS" transaction-
type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>DefaultDS</non-jta-data-source>
<properties>
<property name="hibernate.dialect"
value="org.hibernate.dialect.H2Dialect"/>
</properties>
</persistence-unit>
</persistence>
My Build.scala
--------------------------------------------------------------------------------------
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "eBokTips"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
"mysql" % "mysql-connector-java" % "5.1.18"
)
val main = PlayProject(appName, appVersion, appDependencies,
mainLang = JAVA).settings(
)
}
My application.conf
------------------------------------------------------------------------------------------------
# This is the main configuration file for the application.
# ~~~~~
# Secret key
# ~~~~~
# The secret key is used to secure cryptographics functions.
# If you deploy your application to several instances be sure to use
the same key!
application.secret="<5Qf97RoSs_huE<6N>HIV_8jXL<Y?
Nx=t_rwDbK17rGofvwMkbp88l9X;lclbban"
# The application languages
# ~~~~~
application.langs="en"
# Global object class
# ~~~~~
# Define the Global object class for this application.
# Default to Global in the root package.
# global=Global
# Database configuration
# ~~~~~
# You can declare as many datasources as you want.
# By convention, the default datasource is named `default`
#
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/eboktips"
db.default.user=root
db.default.pass=""
#
# You can expose this datasource via JNDI if needed (Useful for JPA)
db.default.jndiName=DefaultDS
jpa.default=DefaultDS
# Evolutions
# ~~~~~
# You can disable evolutions if needed
# evolutionplugin=disabled
# Ebean configuration
# ~~~~~
# You can declare as many Ebean servers as you want.
# By convention, the default server is named `default`
#
# ebean.default="models.*"
# Logger
# ~~~~~
# You can also configure logback (
http://logback.qos.ch/), by
providing a logger.xml file in the conf directory .
# Root logger:
logger.root=ERROR
# Logger used by the framework:
logger.play=INFO
# Logger provided to your application:
logger.application=DEBUG
And finally, the call stack (sorry about the line breaks)
--------------------------------------------------------------------------------------------------
javax.persistence.PersistenceException: No Persistence provider for
EntityManager named DefaultDS
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:
69)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:
47)
play.db.jpa.JPAPlugin.onStart(JPAPlugin.java:35)
play.api.Play$$anonfun$start$1.apply(Play.scala:60)
play.api.Play$$anonfun$start$1.apply(Play.scala:60)
scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:59)
scala.collection.immutable.List.foreach(List.scala:45)
play.api.Play$.start(Play.scala:60)
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3$
$anonfun$1.apply(ApplicationProvider.scala:125)
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3$
$anonfun$1.apply(ApplicationProvider.scala:112)
scala.Option.map(Option.scala:133)
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply
$3.apply(ApplicationProvider.scala:112)
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply
$3.apply(ApplicationProvider.scala:110)
scala.Either$RightProjection.flatMap(Either.scala:277)
play.core.ReloadableApplication$$anonfun$get
$1.apply(ApplicationProvider.scala:110)
play.core.ReloadableApplication$$anonfun$get
$1.apply(ApplicationProvider.scala:110)
akka.dispatch.Future$$anon$3.liftedTree1$1(Future.scala:195)
akka.dispatch.Future$$anon$3.run(Future.scala:194)
akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:83)
akka.jsr166y.ForkJoinTask
$AdaptedRunnableAction.exec(ForkJoinTask.java:1381)
akka.jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:259)
akka.jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:
997)
akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1495)
akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:
104)