-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 
Author Message
 Post subject: MappingException: Unknown entity problem
PostPosted: Thu May 29, 2008 3:55 pm 
Newbie

Joined: Wed May 28, 2008 11:11 am
Posts: 12
My configuration file looks like this:


<hibernate-configuration>
<session-factory>

<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.connection.password">MYPASSWORD</property>
<property name="hibernate.connection.url">MYURL</property>
<property name="hibernate.connection.username">MYUSERNAME</property>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>

<!-- List of annotated classes -->
<mapping package="test"/>
<mapping class="test.HibernateTableEntry"/>

</session-factory>
</hibernate-configuration>

snippet of code...

HibernateTableEntry hte = new HibernateTableEntry();
hte.id = "test";
hte.data = 2.3;

Session session = HibernateUtil.getSessionFactory().openSession();
System.out.println("session is connected " + session.isConnected());
Transaction transaction = session.beginTransaction();
session.save(hte);
transaction.commit();

It fails on the save() call....

I get the following error:

Exception in thread "main" org.hibernate.MappingException: Unknown entity: mitll.HibernateTableEntry
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:557)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1342)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:539)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:527)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
at mitll.HibernateTableEntry.main(HibernateTableEntry.java:89)

I searched the forum but could not find a good answer...

ANY HELP WOULD BE APPRECIATED!!!

THANKS!!


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 29, 2008 6:57 pm 
Hibernate Team
Hibernate Team

Joined: Fri Oct 05, 2007 4:47 pm
Posts: 2536
Location: Third rock from the Sun
Hi,
is the mitll.HibernateTableEntry you are trying to persist the exact same package name you have mapped in your <hibernate-configuration> ?
They look like different in your codem one has "mitll." and the other "test.".

did you use an AnnotationConfiguration() in your HibernateUtil ?

_________________
Sanne
http://in.relation.to/


Top
 Profile  
 
 Post subject: still getting unknown entity...
PostPosted: Fri May 30, 2008 11:50 am 
Newbie

Joined: Wed May 28, 2008 11:11 am
Posts: 12
Thanks Sanna for replying. I did not show things correctly.

HERE is my Hibernate.cfg.xml file:

<?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="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.connection.password">@1ph@9er</property>
<property name="hibernate.connection.url">jdbc:postgresql://localhost/LLTEAM</property>
<property name="hibernate.connection.username">admin</property>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>

<!-- List of annotated classes -->
<mapping package="mitll.LLTeamGUI.sql"/>
<mapping class="mitll.LLTeamGUI.sql.HibernateTable"/>

</session-factory>
</hibernate-configuration>

__________________________________________________

HERE is my HibernateTable class:

package mitll.LLTeamGUI.sql;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.annotations.Entity;

@Entity
@Table(name = "hibernate_table", schema = "public", uniqueConstraints = {})
public class HibernateTable {

// Fields

private String id;

private Double data;

private int dataArray = 9;

// Constructors

/** default constructor */
public HibernateTable() {

}

/** minimal constructor */
public HibernateTable(String id) {

this.id = id;
}

/** full constructor */
public HibernateTable(String id, Double data, int dataArray) {

this.id = id;
this.data = data;
this.dataArray = dataArray;
}

// Property accessors
@Id
@Column(name = "id", unique = true, nullable = false, insertable = true, updatable = true)
public String getId() {

return this.id;
}

public void setId(String id) {

this.id = id;
}

@Column(name = "data", unique = false, nullable = true, insertable = true, updatable = true, precision = 17, scale = 17)
public Double getData() {

return this.data;
}

public void setData(Double data) {

this.data = data;
}

@Column(name = "dataArray", unique = false, nullable = true, insertable = true, updatable = true)
public int getDataArray() {

return this.dataArray;
}

public void setDataArray(int dataArray) {

this.dataArray = dataArray;
}

public static void main(String[] args) {

HibernateTable hte = new HibernateTable();
hte.id = "test";
hte.data = 2.3;

try {
Session session = HibernateUtil.getSessionFactory().openSession();
System.out.println("session is connected " + session.isConnected());
Transaction transaction = session.beginTransaction();
session.save(hte);
transaction.commit();
session.close();
}
catch (Exception e) {
System.out.println(e.getMessage());
}

}
}

________________________________________________________________

HERE IS MY HibernateUtil class:

package mitll.LLTeamGUI.sql;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

public class HibernateUtil {

/**
* Startup Hibernate and provide access to the singleton SessionFactory
*/
private static SessionFactory sessionFactory;

static {
try {
AnnotationConfiguration a = new AnnotationConfiguration().
addAnnotatedClass(mitll.LLTeamGUI.sql.HibernateTable.class);
sessionFactory = a.configure().buildSessionFactory();
}
catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
}

public static SessionFactory getSessionFactory() {

return sessionFactory;
}

public static void shutdown() {

// Close caches and connection pools
getSessionFactory().close();
}

public static void main(String[] args) {

}

}


Top
 Profile  
 
 Post subject:
PostPosted: Fri May 30, 2008 12:10 pm 
Hibernate Team
Hibernate Team

Joined: Fri Oct 05, 2007 4:47 pm
Posts: 2536
Location: Third rock from the Sun
IMHO it looks good, sorry I'm missing something;
could you update your stacktrace too please?
the first one is about another entity..

_________________
Sanne
http://in.relation.to/


Last edited by sanne.grinovero on Fri May 30, 2008 12:28 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Stack trace
PostPosted: Fri May 30, 2008 12:23 pm 
Newbie

Joined: Wed May 28, 2008 11:11 am
Posts: 12
It seems that the session's factory entityPersister collection is empty...

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
session is connected true

Exception in thread "main" org.hibernate.MappingException: Unknown entity: mitll.LLTeamGUI.sql.HibernateTable
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
at mitll.LLTeamGUI.sql.HibernateTable.main(HibernateTable.java:89)


Top
 Profile  
 
 Post subject:
PostPosted: Fri May 30, 2008 1:04 pm 
Hibernate Team
Hibernate Team

Joined: Fri Oct 05, 2007 4:47 pm
Posts: 2536
Location: Third rock from the Sun
You don't have any error when creating the SessionFactory? are you sure there are no previous error in stacktrace / log?
Which versions of Hibernate and Annotations, and any other hib. lib?

_________________
Sanne
http://in.relation.to/


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jan 30, 2009 3:16 pm 
Newbie

Joined: Fri Jan 30, 2009 3:10 pm
Posts: 1
I had an identical problem to this. I had to replace:
Code:
import org.hibernate.annotations.Entity;


With:
Code:
import javax.persistence.Entity;


And that fixed it!


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.