JBoss JPA - Tabellen werden nicht erstellt


#1

Ich wollte mich mal wieder etwas mehr mit dem EE-Bereich beschäftigen und scheitere hier gerade an JPA. Ich habe hier einen JBoss und dort eine Datasource hinterlegt (einfach eine simple h2-Datenbank).

Meine persistence.xml schaut jetzt enstprechend schlank wie folgt aus:
[xml]<?xml version="1.0" encoding="UTF-8"?>


java:jboss/h2


[/xml]

ich denke, das sollte theoretisch so laufen - nur leider werden meine Tabellen nicht erstellt. Danach wollte ich mal einen anderen Weg versuchen - der aber zum gleichen Scheitern geführt hat:
[xml]<?xml version="1.0" encoding="UTF-8"?>


org.hibernate.ejb.HibernatePersistence













[/xml]

Wäre nett, wenn mir da jemand auf die Sprünge helfen könnte :slight_smile:


#2

Hi,

bei mir läuft es mit h2 (für meine Unittests) so:

[xml]


org.hibernate.ejb.HibernatePersistence
de.larmic.ts.model.user.UserEntity
de.larmic.ts.model.user.RoleEntity
… other classes …













[/xml]

Dabei gebe ich jede Entität manuell an.

*** Edit ***

Ich habe gerade gesehen, dass Du es im JBoss nutzen möchtest. Dann probiere

[xml]

[/xml]

Damit sollte das Anbinden über die JTA-Datasource in Verbindung mit dem Aufbau der Tabellen problemlos möglich sein.

*** Edit ***

Sprich:

[xml]<?xml version="1.0" encoding="UTF-8"?>


java:jboss/h2




[/xml]


#3
  1. hibernate.show_sql ist bei Dir true, deswegen wirst du das wohl schon geprüft haben. Trotzdem, die CREATE-Statements werden abgesetzt?
  2. Dass H2 einen Memory-Modus hat, bei dem alle Änderungen nach einem Neustart weg sind, weißt Du auch?
  3. Kommst bspw. mit SqirrelSQL auf die DB und sind dort dann einfach keine Tabellen? Oder wie äußert es sich, dass keine Tabellen da sind?

#4

Also mit dem Properties-Eintrag läuft das, wie ich es mir vorstelle [so wie bei Syms letztem Edit]. Was mich jetzt noch wundert ist, dass das hier schon beim deployen probleme macht:
[xml]<?xml version="1.0" encoding="UTF-8"?>


org.hibernate.ejb.HibernatePersistence













[/xml]

Bin mir jetzt nur nicht ganz sicher, wo da der Fehler liegt:


16:36:51,065 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-6) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
16:36:51,066 INFO  [org.jboss.weld.deployer] (MSC service thread 1-6) JBAS016005: Starting Services for CDI deployment: Demo.war
16:36:51,269 INFO  [org.jboss.as.server] (management-handler-thread - 108) JBAS015870: Deploy of deployment "Demo.war" was rolled back with failure message {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.persistenceunit.\"Demo.war#default\"jboss.data-source.java:/undefinedMissing[jboss.persistenceunit.\"Demo.war#default\"jboss.data-source.java:/undefined]"]}
16:36:51,286 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-15) JBAS015877: Stopped deployment Demo.war in 16ms
16:36:51,287 INFO  [org.jboss.as.controller] (management-handler-thread - 108) JBAS014774: Service status report
JBAS014775:    New missing/unsatisfied dependencies:
      service jboss.data-source.java:/undefined (missing) dependents: [service jboss.persistenceunit."Demo.war#default"] 

@nillehammer :

  1. Ne, ich glaube die wurden nicht abgesetzt. Hab keine SQLs gesehen
  2. Jup ist mir klar. Aber sowohl im JBoss als auch in den jpa-properties ist das ganze eigentlich als Server definiert.
  3. Wenn ich einen Schreibzugriff tätigen will, bekomme ich die Fehlermeldung, dass die Tabelle nicht existiert. Was mir so auch der Datenbankexplorer von Intellij IDEA bestätigt hat. Nachdem ich Syms vorschlag versucht habe, bekomme ich die Tabelle jetzt über die JTA-Datasource rein + sehe diese im Datenbankexplorer.