Hallo
Hallo zusammen
Ich versuche ein enfaches Beispiel mit Hibernate (3.6.1) und JPA zu realisieren, als DBMS setze ich PostgreSQL 9.x ein. Ich arbeite mit Annotationen und ohne eines AS (heisst, Hibernate mit Java SE).
Mein Problem ist folgendes:
Obwoh ich überall gelesen habe, dass das Hibernate die Db-Struktur (sprich Tabellen) selbst erstellen sollte (die Db habe ich selbst erstellt), bringe ich es einfach nicht fertig. Die Zeile
[XML]<property name="hibernate.hbm2dll.auto">create</property>[/XML]
in der "hibernate.cfg.xml" habe ich auch mit 'update' ausprobiert. Ich bekomme immer die Meldung, dass die entsprechende Relation (Tabelle) nicht gefunden wurde. Wenn ich Tabelle selbst von Hand anlege, funktioniert es.
Nun, geht das überhaupt, wenn man ohne AS arbeitet? Und falls ja, was muss ich anders machen, damit es klappt?
Hier noch meien Klassen:
Hier noch die hibernate.cfg.xml:
[XML]
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc
ostgresql://localhost:5432/demo_db</property>
<property name="connection.username">postgres</property>
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="connection.password">postgres</property>
<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="current_session_context_class">thread</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2dll.auto">create</property>
<!-- mapping files -->
<mapping class="deni.model.Person" />
</session-factory>
</hibernate-configuration>
[/XML]
Und noch die "persistence.xml":
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" 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_1_0.xsd">
<persistence-unit name="testPU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>deni.model.Person</class>
<properties>
<property name="hibernate.connection.username" value="postgres"/>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.password" value="postgres"/>
<property name="hibernate.connection.url" value="jdbc
ostgresql://localhost:5432/demo_db"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.hbm2ddl.auto" value="create"/>
</properties>
</persistence-unit>
</persistence>
[/XML]
Ich bin mir nicht sicher, ob ich die "persistence.xml" wirklich brauche!
Nun, vielleicht sieht jemand, was hier falsch ist. Wieso wird die Tabelle für Address-Instanzen nicht automatisch angelegt? Liegt es an Annotationen? Oder Konfigurationsangaben (xml-Dateien)? Oder, liege ich voll daneben ...
Die Programmausgabe:
[XML]
Setting connection parameters:127.0.0.1:55838
[TestNG] Running:
C:\Users\jsucur\AppData\Local\Temp\testng-eclipse-1538659177\testng-customsuite.xml
93 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
98 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.6.1.Final
99 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
102 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
104 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
152 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
152 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
178 [main] WARN org.hibernate.util.DTDEntityResolver - recognized obsolete hibernate namespace Hibernate - JBoss Community. Use namespace Index of /dtd/hibernate instead. Refer to Hibernate 3.6 Migration Guide!
211 [main] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null
254 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: deni.model.Person
290 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity deni.model.Person on table Person
332 [main] INFO org.hibernate.cfg.Configuration - Hibernate Validator not found: ignoring
336 [main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
342 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
342 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
342 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
357 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: org.postgresql.Driver at URL: jdbc
ostgresql://localhost:5432/demo_db
357 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=postgres, password=****}
437 [main] INFO org.hibernate.cfg.SettingsFactory - Database ->
name : PostgreSQL
version : 9.0rc1
major : 9
minor : 0
438 [main] INFO org.hibernate.cfg.SettingsFactory - Driver ->
name : PostgreSQL Native Driver
version : PostgreSQL 9.0 JDBC4 (build 801)
major : 9
minor : 0
455 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.PostgreSQLDialect
467 [main] INFO org.hibernate.engine.jdbc.JdbcSupportLoader - Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
468 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory
469 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
469 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
470 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
470 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15
470 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
470 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
470 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): enabled
470 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
471 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
471 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
471 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
471 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
471 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
472 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
472 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
472 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
472 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
472 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
472 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
473 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
473 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
476 [main] INFO org.hibernate.cfg.SettingsFactory - Echoing all SQL to stdout
476 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
476 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
476 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
477 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
477 [main] INFO org.hibernate.cfg.SettingsFactory - Check Nullability in Core (should be disabled when Bean Validation is on): enabled
496 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
503 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_blob] overrides previous : org.hibernate.type.MaterializedBlobType@70c26b16
706 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
FAILED: testAddressHandling
org.hibernate.MappingException: Unknown entity: deni.model.Address
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:693)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1485)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:120)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:713)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:701)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:697)
at test.person.TestApp.testAddressHandling(TestApp.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:74)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:674)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:847)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1152)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:137)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121)
at org.testng.TestRunner.runWorkers(TestRunner.java:1119)
at org.testng.TestRunner.privateRun(TestRunner.java:744)
at org.testng.TestRunner.run(TestRunner.java:600)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:315)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:310)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:272)
at org.testng.SuiteRunner.run(SuiteRunner.java:221)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:952)
at org.testng.TestNG.runSuitesLocally(TestNG.java:889)
at org.testng.TestNG.run(TestNG.java:818)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:89)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:144)
===============================================
test.person.TestApp
Tests run: 1, Failures: 1, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 1, Failures: 1, Skips: 0
===============================================
[/XML]
Hallo zusammen
Ich versuche ein enfaches Beispiel mit Hibernate (3.6.1) und JPA zu realisieren, als DBMS setze ich PostgreSQL 9.x ein. Ich arbeite mit Annotationen und ohne eines AS (heisst, Hibernate mit Java SE).
Mein Problem ist folgendes:
Obwoh ich überall gelesen habe, dass das Hibernate die Db-Struktur (sprich Tabellen) selbst erstellen sollte (die Db habe ich selbst erstellt), bringe ich es einfach nicht fertig. Die Zeile
[XML]<property name="hibernate.hbm2dll.auto">create</property>[/XML]
in der "hibernate.cfg.xml" habe ich auch mit 'update' ausprobiert. Ich bekomme immer die Meldung, dass die entsprechende Relation (Tabelle) nicht gefunden wurde. Wenn ich Tabelle selbst von Hand anlege, funktioniert es.
Nun, geht das überhaupt, wenn man ohne AS arbeitet? Und falls ja, was muss ich anders machen, damit es klappt?
Hier noch meien Klassen:
Java:
package deni.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Person {
@Id
@GeneratedValue
private Long id;
private String firstname;
private String lastname;
public Person() {
}
/**
* @param firstname
* @param lastname
*/
public Person(String firstname, String lastname) {
this.firstname = firstname;
this.lastname = lastname;
}
/**
* @return the id
*/
public Long getId() {
return id;
}
/**
* @param id
* the id to set
*/
public void setId(Long id) {
this.id = id;
}
/**
* @return the firstname
*/
public String getFirstname() {
return firstname;
}
/**
* @param firstname
* the firstname to set
*/
public void setFirstname(String firstname) {
this.firstname = firstname;
}
/**
* @return the lastname
*/
public String getLastname() {
return lastname;
}
/**
* @param lastname
* the lastname to set
*/
public void setLastname(String lastname) {
this.lastname = lastname;
}
}
Java:
package deni.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
/* SessionFactory erzeugen */
sessionFactory = new Configuration().configure()
.buildSessionFactory();
} catch (Throwable e) {
System.out
.println("\nSessionFactory konnte nicht angelegt werden!\n\n"
+ e);
throw new ExceptionInInitializerError(e);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
Java:
package test.person;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.testng.Assert;
import org.testng.annotations.Test;
import deni.model.Address;
import deni.model.Person;
import deni.util.HibernateUtil;
import deni.util.PersonDAO;
public class TestApp {
@Test
public void testAddressHandling() {
Address a = new Address("Teststrasse 8", 9900, "TestCity");
//a.setId(1L);
Session s = HibernateUtil.getSessionFactory().openSession();
Transaction tx = s.beginTransaction();
s.save(a);
tx.commit();
s.close();
}
}
Hier noch die hibernate.cfg.xml:
[XML]
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc
<property name="connection.username">postgres</property>
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="connection.password">postgres</property>
<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="current_session_context_class">thread</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2dll.auto">create</property>
<!-- mapping files -->
<mapping class="deni.model.Person" />
</session-factory>
</hibernate-configuration>
[/XML]
Und noch die "persistence.xml":
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" 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_1_0.xsd">
<persistence-unit name="testPU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>deni.model.Person</class>
<properties>
<property name="hibernate.connection.username" value="postgres"/>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.password" value="postgres"/>
<property name="hibernate.connection.url" value="jdbc
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.hbm2ddl.auto" value="create"/>
</properties>
</persistence-unit>
</persistence>
[/XML]
Ich bin mir nicht sicher, ob ich die "persistence.xml" wirklich brauche!
Nun, vielleicht sieht jemand, was hier falsch ist. Wieso wird die Tabelle für Address-Instanzen nicht automatisch angelegt? Liegt es an Annotationen? Oder Konfigurationsangaben (xml-Dateien)? Oder, liege ich voll daneben ...
Die Programmausgabe:
[XML]
Setting connection parameters:127.0.0.1:55838
[TestNG] Running:
C:\Users\jsucur\AppData\Local\Temp\testng-eclipse-1538659177\testng-customsuite.xml
93 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
98 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.6.1.Final
99 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
102 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
104 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
152 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
152 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
178 [main] WARN org.hibernate.util.DTDEntityResolver - recognized obsolete hibernate namespace Hibernate - JBoss Community. Use namespace Index of /dtd/hibernate instead. Refer to Hibernate 3.6 Migration Guide!
211 [main] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null
254 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: deni.model.Person
290 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity deni.model.Person on table Person
332 [main] INFO org.hibernate.cfg.Configuration - Hibernate Validator not found: ignoring
336 [main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
342 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
342 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
342 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
357 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: org.postgresql.Driver at URL: jdbc
357 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=postgres, password=****}
437 [main] INFO org.hibernate.cfg.SettingsFactory - Database ->
name : PostgreSQL
version : 9.0rc1
major : 9
minor : 0
438 [main] INFO org.hibernate.cfg.SettingsFactory - Driver ->
name : PostgreSQL Native Driver
version : PostgreSQL 9.0 JDBC4 (build 801)
major : 9
minor : 0
455 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.PostgreSQLDialect
467 [main] INFO org.hibernate.engine.jdbc.JdbcSupportLoader - Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
468 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory
469 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
469 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
470 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
470 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15
470 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
470 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
470 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): enabled
470 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
471 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
471 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
471 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
471 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
471 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
472 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
472 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
472 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
472 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
472 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
472 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
473 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
473 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
476 [main] INFO org.hibernate.cfg.SettingsFactory - Echoing all SQL to stdout
476 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
476 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
476 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
477 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
477 [main] INFO org.hibernate.cfg.SettingsFactory - Check Nullability in Core (should be disabled when Bean Validation is on): enabled
496 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
503 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_blob] overrides previous : org.hibernate.type.MaterializedBlobType@70c26b16
706 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
FAILED: testAddressHandling
org.hibernate.MappingException: Unknown entity: deni.model.Address
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:693)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1485)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:120)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:713)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:701)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:697)
at test.person.TestApp.testAddressHandling(TestApp.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:74)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:674)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:847)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1152)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:137)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121)
at org.testng.TestRunner.runWorkers(TestRunner.java:1119)
at org.testng.TestRunner.privateRun(TestRunner.java:744)
at org.testng.TestRunner.run(TestRunner.java:600)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:315)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:310)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:272)
at org.testng.SuiteRunner.run(SuiteRunner.java:221)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:952)
at org.testng.TestNG.runSuitesLocally(TestNG.java:889)
at org.testng.TestNG.run(TestNG.java:818)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:89)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:144)
===============================================
test.person.TestApp
Tests run: 1, Failures: 1, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 1, Failures: 1, Skips: 0
===============================================
[/XML]