Hello,
I have 3 classes.
User(id)
Society(users)
Person()
A user could be a society or a person.
So as a society could have many persons, a society could have many users.
classes
Code:
Public class Society extends User
{
private Collection users;
}
Public class User
{
private int id;
}
Public class Person extends User
{
private String Name;
}
User.hbm.xml
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<class name="bll/User">
<id name="id">
<generator class="increment"/>
</id>
<joined-subclass name="bll.Society" >
<key column="id"/>
<bag name="users" lazy="true" inverse="true" cascade="all">
<key column="id"/>
<one-to-many class=" bll/User"/>
</bag>
</joined-subclass>
<joined-subclass name=" bll.Person" >
<key column="id"/>
<property name="Name"/>
</joined-subclass>
</class>
</hibernate-mapping>
When I try to save a person, I have an exception :
[code]
net.sf.hibernate.MappingException: No persister for: net.sf.hibernate.collection.Bag at net.sf.hibernate.impl.SessionFactoryImpl.getPersister(SessionFactoryImpl.java:344) at net.sf.hibernate.impl.SessionImpl.getClassPersister(SessionImpl.java:2686) at net.sf.hibernate.impl.SessionImpl.getPersister(SessionImpl.java:2693) at net.sf.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:1381) at net.sf.hibernate.engine.Cascades$4.cascade(Cascades.java:114) at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:436) at net.sf.hibernate.engine.Cascades.cascadeCollection(Cascades.java:526) at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:452) at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:503) at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:951) at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:857) at net.sf.hibernate.impl.SessionImpl.saveWithGeneratedIdentifier(SessionImpl.java:779) at net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:738) at