JSF + H2 + TomEE + Hibernate/JPA Datenbank wird nicht angelegt

pl4gu33

Top Contributor
Hey,....

ich habe im Moment fast nur Konfigurations- Probleme ich hoffe ich hab bald alle Probleme durch und kann endlich weiter proggen :D

Mein aktuelles Problem setzt sich aus einer Mischung von JSF,h2,Hibernate/JPA, Tom EE zusammen
ich hab auf der TomEE Seite, auf der H2 Seite, bei Google etc. gesucht... ich finde einfach nix, ich hab 10000 Sachen probiert, web.xml vom Server geändert, Persistence.xml, Lib verschoben etc. aber es will einfach nicht klappen.... kann sein, dass meine Konfigurationen nun ganz kaputt sind, aber ich hoffe ihr könnt mir weiterhelfen :D

Lokal also ohne Server und ohne JSF/CDI klappt Hibernate/JPA + H2 ohne Probleme

Folgende Struktur (Maven Projekt):

src/main/java
package model mit den Klassen Control /Person

src/main/webapp
hello.xhtml
Meta-INF
Web-INF mit beans.xml, web.xml, persistence.xml, faces-config.xml


so weit, so gut .... die CDI funzt auch ohne Probleme und sogar die Datenbank wird erstellt bzw. sieht es so aus :D aber wirklich gespeichert wird nix :(

JA ich weiß vieles is unsinning was z.b. im PostConstruct passiert aber das soll alles nur ein Test sein :D

Hier meine Daten:

Control.java

Java:
package model;

import java.io.Serializable;

import javax.annotation.PostConstruct;
import javax.inject.Named;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;

import javax.persistence.PersistenceUnit;


@Named
public class Control implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private String hello="hello";

	@PersistenceUnit(name="PU")
	EntityManagerFactory ef;
	
	public Control(){
		
	}
	
	public String getHello() {
		return hello;
	}

	public void setHello(String hello) {
		this.hello = hello;
	}
	
	@PostConstruct
	public void save(){		
		EntityManager em= ef.createEntityManager();		
		System.out.println(em.merge(new Person("Hans")));
		System.out.println(em.find(Person.class,1L));
		hello="Text wird eingefügt";
	}
}

Person.java
Java:
package model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Person {
	
	@Id
	@GeneratedValue
	private Long id;
	
	private String name;
	
	protected Person(){
		
	}
	
	public Person(String name){
		this.setName(name);
	}


	public Long getId() {
		return id;
	}


	public void setId(Long id) {
		this.id = id;
	}


	public String getName() {
		return name;
	}


	public void setName(String name) {
		this.name = name;
	}
	
	public String toString(){
		return name+ " das ist mein Name";
	}
	
	
}

hello.xhtml

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">

<h:head>
<title>JSF 2.0 Hello World</title>
</h:head>
<h:body>
<h3>JSF 2.0 Hello World Example - hello.xhtml</h3>
<h:form>
<h:outputText value="#{control.hello}"></h:outputText>
</h:form>
</h:body>
</html>

Persistence.xml

Java:
<?xml version="1.0" encoding="UTF-8"?>
<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="PU"> 
	<provider>org.hibernate.ejb.HibernatePersistence</provider>

    <class>model.Person</class>
	<properties>	
         <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
         <property name="hibernate.connection.url" value="jdbc:h2:test.h2;MODE=Oracle" />
         <property name="hibernate.connection.username" value="sa" />
         <property name="hibernate.connection.password" value="" />

         <property name="hibernate.connection.autocommit" value="true" />
         <property name="hibernate.hbm2ddl.auto" value="create" />
         <property name="hibernate.show_sql" value="true" />
         <property name="hibernate.format_sql" value="true" />
         <property name="hibernate.transaction.factory_class"
            value="org.hibernate.transaction.JDBCTransactionFactory" />

      </properties>
	
	</persistence-unit>	
</persistence>

web.xml

Java:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>WebH2</display-name>


<!-- Change to "Production" when you are ready to deploy -->
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<!-- JSF mapping -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<!-- Map these files with JSF -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>


Teile des Printstack vom TomEE Server:

Java:
Hibernate: 
    create table Person (
        id bigint generated by default as identity (start with 1),
        name varchar(255),
        primary key (id)
    )

Hans das ist mein Name
Hibernate: 
    select
        person0_.id as id0_0_,
        person0_.name as name0_0_ 
    from
        Person person0_ 
    where
        person0_.id=?
null

wie man an dem null sieht, ist kein User mit der ID vorhanden und die DB Datei existiert auch nirgendwo.... ich hab keine Ahnung was ich noch machen soll daher wäre es sehr nett, wenn ihr mir da weiterhelfen könntet :D


Die Ausgabe der JSF Seite is übrigens korrekt mit CDI :

Code:
JSF 2.0 Hello World Example - hello.xhtml

Text wird eingefügt


POM:

Code:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>WebH2</groupId>
  <artifactId>WebH2</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>WebH2</name>
   <build>
	<plugins>
		<plugin>
			<artifactId>maven-compiler-plugin</artifactId>
			<configuration>
				<source>1.6</source>
				<target>1.6</target>
			</configuration>
		</plugin>
	</plugins>
</build>

  
   <dependencies>
   	<dependency>
   		<groupId>com.h2database</groupId>
   		<artifactId>h2</artifactId>
   		<version>1.3.168</version>
   	</dependency>
   </dependencies>
</project>
 
Zuletzt bearbeitet:

schulli

Mitglied
Du musst die Person per Transaction in die DB schreiben:

Java:
 //Erzeugen einer EntityManagerFactory mit Hilfe des symbolischen
     //Namens aus dem Persistenz Descriptor (persistence.xml)
     EntityManagerFactory emf =
        Persistence.createEntityManagerFactory("persistenceExample");
 
     //Erzeugen eines EntityManagers für den Zugriff auf
     //die Datenbank
     EntityManager manager = emf.createEntityManager();
 
     //Beginn einer neuen Transanktion
     EntityTransaction tx = manager.getTransaction();
     tx.begin();    
 
     //Erzeugen eines neuen JavaObjektes
     Directory dir = new Directory(); 
     dir.setDid(0);
     dir.setDname("temp");
 
     //Speichern des JavaObjektes mit Hilfe des EntityManagers
     manager.persist(dir); 
 
     //Abschluss der Transaktion mit einem Commit
     tx.commit();
     
     //Freigabe der Ressourcen des EntityManagers
     manager.close();
 
     //Schließen der EntityManagerFactory und Freigeben der
     //belegten Ressourcen
     emf.close();
 

pl4gu33

Top Contributor
natürlich hab ich das auch schon mit Transaktionen versucht :D
hatte dann auch ähnliche Probleme wie hier aber dann gings (aber auch keine DB erstelt):
http://www.java-forum.org/data-tier/84989-hibernate-jta-transactionmanagement.html

aber da die DB nicht mal erstellt wird, denke ich, dass einfach irgendwas ganz anderes falsch ist ^

und wie gesagt ohne Server etc. läuft es ja auch alles als Hibernate/JPA + H2 Alone ^^

ich bräuchte ja eher nur Konfigurationstipps, weil langsam aber sicher gehen mir die Seiten aus, was ich noch alles nachlesen kann und nen direktes Bsp. zu Hibernate, TomEE + H2 hab ich nicht gefunden bisher :(
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
torresbig MySQL hibernate - could not resolve entity class ... (Datenbank Anfänger) Datenbankprogrammierung 19
I Hibernate Predicate mit IN Clause "Unaware how to convert value to requested type" Datenbankprogrammierung 0
T org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ..., could not initialize proxy - no Session Datenbankprogrammierung 5
T Realisierungsvorschläge Hibernate SQL Datenbankprogrammierung 1
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
Zrebna Tabellen-Erzeugung via Hibernate ignoriert 'CascadeType' settings Datenbankprogrammierung 1
I Hibernate / JPA - Spaltenname von Query (Select) bekommen Datenbankprogrammierung 6
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
damike84 Hibernate: persistieren eines Graphen Datenbankprogrammierung 2
N Hibernate Entitäten bei Selects aus 2 Tabellen Datenbankprogrammierung 7
OnDemand Hibernate Realationen Datenbankprogrammierung 7
OnDemand Hibernate ManyToOne Datenbankprogrammierung 5
D Hibernate oneToMany Syntaxfehler Datenbankprogrammierung 3
D Hibernate Error: NoSuchMethodError Datenbankprogrammierung 4
D hibernate mit postgreSQL Datenbankprogrammierung 3
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
F Problem mit Hibernate c3p0 Datenbankprogrammierung 2
OnDemand MySQL Trigger löst nicht aus bei Hibernate Update Datenbankprogrammierung 12
OnDemand Hibernate OneToMany ManyToOne Datenbankprogrammierung 61
J Hibernate One-To-One mit Where Klausel Datenbankprogrammierung 6
L hibernate.cfg.xml Could not parse configuration Datenbankprogrammierung 0
L H2 Hibernate definieren? Datenbankprogrammierung 1
T JPA Mapping Enum (hibernate 5) Datenbankprogrammierung 1
H In hibernate.cfg.xml schreiben und auslesen Datenbankprogrammierung 0
K Hibernate: Ein Fluch Datenbankprogrammierung 3
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
K Eclipse: JBoss Hibernate Tool: Kein Zugriff auf Datenbank Datenbankprogrammierung 5
S JpaRepositories & Hibernate: ungewolltes trim() in findBy Datenbankprogrammierung 7
S MySQL hibernate exception: illegal state exception : entityManagerFactory is closed Datenbankprogrammierung 5
S Hibernate: Verschiedene Klassen zurückgeben. Datenbankprogrammierung 2
looparda Architektur für JPA Hibernate Umstieg Datenbankprogrammierung 14
O HSQLDB Hibernate Criteria Problem Datenbankprogrammierung 3
perlenfischer1984 Hibernate mit final members Datenbankprogrammierung 3
perlenfischer1984 Java Objecte speichern mit Hibernate ? Datenbankprogrammierung 2
N SQLite Hibernate und Aufruf von Funktion SELECT last_insert_rowid() Datenbankprogrammierung 2
N Sqlite3 und Hibernate Datenbankprogrammierung 3
A Hibernate Cache leeren Datenbankprogrammierung 4
I MySQL Hibernate zu viele Queries Datenbankprogrammierung 2
Psypsy Hibernate / JPA erkennen von schon gespeicherten Objekten Datenbankprogrammierung 4
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
J Hibernate + DTOs - DTOs in DAOs verwenden? Datenbankprogrammierung 1
S Hibernate-Konfiguration : Unverständliche Ausgabe beim Ausführen Datenbankprogrammierung 0
I MySQL Hibernate / MySQL alias in WHERE clause Datenbankprogrammierung 1
J Hibernate + HSQL embedded Datenbankprogrammierung 2
P Hibernate Einstieg Datenbankprogrammierung 5
C Hibernate und createQuery Datenbankprogrammierung 2
V kennt jemand empfehlenswerte online tutorials zur Hibernate ? gerne auch englisch. Datenbankprogrammierung 4
G H2 Hibernate - wie joins machen Datenbankprogrammierung 1
D Hibernate: Zustand eines Objekts erkennen? Datenbankprogrammierung 0
D Unterschiede Hibernate Vs. Java Persistence API Datenbankprogrammierung 8
I Hibernate / JPA Index hinzufügen Datenbankprogrammierung 1
X Hibernate Cache Verständnisproblem Datenbankprogrammierung 0
T Hibernate und inner class Datenbankprogrammierung 0
K n:m Tabellen mit Hibernate erstellen Datenbankprogrammierung 1
T Hibernate DAO gute Tutorials/Bücher gesucht Datenbankprogrammierung 0
C Hibernate: could not resolve property Datenbankprogrammierung 1
J Plug-In-Framework für Hibernate-Klassen Datenbankprogrammierung 0
M Hibernate - Save Child wenn nötig Datenbankprogrammierung 10
M DAO's + Hibernate Theorie Datenbankprogrammierung 4
T Hibernate, HSQLDB und UNIQUE Datenbankprogrammierung 2
F Hibernate - verschiedene Schemen Datenbankprogrammierung 7
D Hibernate SaveOrUpdate Exception Datenbankprogrammierung 2
D Hibernate CreateQuery ohne Result Datenbankprogrammierung 7
E MySQL Hibernate mit JaxWS führt zu LazyInitialization Exception Datenbankprogrammierung 8
L Einarbeitung in Hibernate -> wenn gute SQL Kenntnisse vorhanden? Datenbankprogrammierung 2
B DB2 Hibernate findet Datenbank nicht Datenbankprogrammierung 18
K JPA / Hibernate Annotations Datenbankprogrammierung 4
M JPA / Hibernate mit Postgres DB Datenbankprogrammierung 3
E MySQL Hibernate ( Anfänger ) Datenbankprogrammierung 3
P Lazy-Fetchig und Session-Problem mit Hibernate Datenbankprogrammierung 4
J Hibernate Select auf Parameterliste Datenbankprogrammierung 3
C Hibernate ManyToMany zusammengesetzter Primärschlüssel, problem. Datenbankprogrammierung 3
P Oracle Hibernate - Oracle-VarChar-Index wird nicht genutzt Datenbankprogrammierung 3
M Hibernate Foreign Key definieren Datenbankprogrammierung 4
M Abstrakte Klassen Hibernate Datenbankprogrammierung 4
D Mit Hibernate (mit Annotation) auf Views zugreifen Datenbankprogrammierung 2
M [Hibernate]Abgleich eines lokalen Objekts mit dem Zustand aus der Datenbank. Datenbankprogrammierung 3
P Mit Hibernate mehrere Datensätze löschen Datenbankprogrammierung 7
P Probleme mit meinem 1. Hibernate Beispiel Datenbankprogrammierung 3
P erste Schritte mit Hibernate Datenbankprogrammierung 3
V Hibernate Interfaces von anderem Projekt Datenbankprogrammierung 2
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
B Hibernate und portierbare Datenbank Datenbankprogrammierung 3
qwerqer [Hibernate] Mappingvarianten Datenbankprogrammierung 2
lumo Teneo Hibernate & JPA Datenbankprogrammierung 15
Z JPA mit Hibernate - Unable to build EntityManagerFactory Datenbankprogrammierung 7
Dit_ Hibernate, effiziente SQL-Abfrage definieren Datenbankprogrammierung 5
K Hibernate vs. JDBC Datenbankprogrammierung 4
J Hibernate Info 593 ? Datenbankprogrammierung 4
J Erstellen der SessionFactory in Hibernate 4.1 Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
X MySQL Hibernate: Massenupdate auf unbekannte Tabelle Datenbankprogrammierung 4
N hibernate: datasource Datenbankprogrammierung 7
H MySQL Hibernate: Updaten vereinfachen Datenbankprogrammierung 2
T Hibernate Division zweier Summen Datenbankprogrammierung 4
B MySQL Fehler: Cannot open connection mit Tomcat7, Hibernate und MySQL Datenbankprogrammierung 4
F GWT und Hibernate - gwt.dev.Compler not found Datenbankprogrammierung 3
M NestedTransaction- Exception in Hibernate Datenbankprogrammierung 15
O Löschen vieler Datensätze mit Hibernate Datenbankprogrammierung 11
C Hibernate n:m mittels Zwischentabelle und bidirektionaler Zugriff Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben