Hallo,
ja wieder einmal das leidige Thema der Unkown Entities. Ich hab jetzt echt jeden Thread bei Google durch aber keine Lösung gefunden. Danke schon mal im Vorraus.
Ich liste einmal den Quellcode auf.
Das Entity
[JAVA=42]
package org.prometering.mmdemo.models;
import java.io.Serializable;
import java.lang.String;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* Entity implementation class for Entity: User
*
*/
@Entity
@Table(name="Users")
public class User implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
private Long id;
private String firstName;
private String lastName;
private String password;
private static final long serialVersionUID = 1L;
public User() {
}
public String getFirstName() {
return this.firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return this.lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
}
[/code]
Die hibernate.cfg.xml
[XML]
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.url">jdbc
ostgresql://localhost:5432/prometering</property>
<property name="connection.username">prometering</property>
<property name="connection.password">prometering</property>
<!-- SQL dialect for PostgreSQL -->
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create</property>
</session-factory>
</hibernate-configuration>
[/XML]
Noch die Main Klasse
Und die HibernateUtils
ja wieder einmal das leidige Thema der Unkown Entities. Ich hab jetzt echt jeden Thread bei Google durch aber keine Lösung gefunden. Danke schon mal im Vorraus.
Ich liste einmal den Quellcode auf.
Das Entity
[JAVA=42]
package org.prometering.mmdemo.models;
import java.io.Serializable;
import java.lang.String;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* Entity implementation class for Entity: User
*
*/
@Entity
@Table(name="Users")
public class User implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
private Long id;
private String firstName;
private String lastName;
private String password;
private static final long serialVersionUID = 1L;
public User() {
}
public String getFirstName() {
return this.firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return this.lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
}
[/code]
Die hibernate.cfg.xml
[XML]
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.url">jdbc
<property name="connection.username">prometering</property>
<property name="connection.password">prometering</property>
<!-- SQL dialect for PostgreSQL -->
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create</property>
</session-factory>
</hibernate-configuration>
[/XML]
Noch die Main Klasse
Java:
package org.prometering.test;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.prometering.mmdemo.models.User;
import org.prometering.mmdemo.utils.HibernateUtils;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Session session = HibernateUtils.getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
User user = new User();
user.setFirstName("Ich");
user.setLastName("Du");
user.setPassword("123");
session.save(user);
tx.commit();
session.close();
}
}
Und die HibernateUtils
Java:
package org.prometering.mmdemo.utils;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtils {
private static final SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory from hibernate.cfg.xml
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
System.err.println("SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
Code:
28.07.2011 11:43:53 org.hibernate.annotations.common.Version <clinit>
INFO: Hibernate Commons Annotations 3.2.0.Final
28.07.2011 11:43:53 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.6.6.Final
28.07.2011 11:43:53 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
28.07.2011 11:43:53 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : javassist
28.07.2011 11:43:53 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
28.07.2011 11:43:53 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
28.07.2011 11:43:53 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
28.07.2011 11:43:53 org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: null
28.07.2011 11:43:53 org.hibernate.cfg.Configuration applyHibernateValidatorLegacyConstraintsOnDDL
INFO: Hibernate Validator not found: ignoring
28.07.2011 11:43:53 org.hibernate.validator.util.Version <clinit>
INFO: Hibernate Validator 4.1.0.Final
28.07.2011 11:43:53 org.hibernate.validator.engine.resolver.DefaultTraversableResolver detectJPA
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
28.07.2011 11:43:53 org.hibernate.validator.engine.resolver.DefaultTraversableResolver detectJPA
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
28.07.2011 11:43:53 org.hibernate.cfg.search.HibernateSearchEventListenerRegister enableHibernateSearch
INFO: Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
28.07.2011 11:43:53 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
28.07.2011 11:43:53 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
28.07.2011 11:43:53 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
28.07.2011 11:43:53 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: org.postgresql.Driver at URL: jdbc:postgresql://localhost:5432/prometering
28.07.2011 11:43:53 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=prometering, password=****}
28.07.2011 11:43:54 org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.PostgreSQLDialect
28.07.2011 11:43:54 org.hibernate.engine.jdbc.JdbcSupportLoader useContextualLobCreation
INFO: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Database ->
name : PostgreSQL
version : 9.0.4
major : 9
minor : 0
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Driver ->
name : PostgreSQL Native Driver
version : PostgreSQL 9.0 JDBC4 (build 801)
major : 9
minor : 0
28.07.2011 11:43:54 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
28.07.2011 11:43:54 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): enabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
28.07.2011 11:43:54 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory createRegionFactory
INFO: Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
28.07.2011 11:43:54 org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge <init>
INFO: Cache provider: org.hibernate.cache.NoCacheProvider
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Echoing all SQL to stdout
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
28.07.2011 11:43:54 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Check Nullability in Core (should be disabled when Bean Validation is on): disabled
28.07.2011 11:43:54 org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
28.07.2011 11:43:54 org.hibernate.type.BasicTypeRegistry register
INFO: Type registration [materialized_blob] overrides previous : org.hibernate.type.MaterializedBlobType@8542529
28.07.2011 11:43:54 org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
28.07.2011 11:43:54 org.hibernate.validator.engine.resolver.DefaultTraversableResolver detectJPA
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
28.07.2011 11:43:54 org.hibernate.validator.engine.resolver.DefaultTraversableResolver detectJPA
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
28.07.2011 11:43:54 org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: Running hbm2ddl schema export
28.07.2011 11:43:54 org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: exporting generated schema to database
28.07.2011 11:43:54 org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: schema export complete
Exception in thread "main" org.hibernate.MappingException: Unknown entity: org.prometering.mmdemo.models.User
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 org.prometering.test.Test.main(Test.java:29)