I have experence a problem while mapping a legacy database when I am attempt to use @ManyToOne using @JoinTable and the parent class is declaired with @Inheritance(strategy=InheritanceType.JOINED). Here is a simplified version of what I am attempting: @Entity | @Inheritance(strategy=InheritanceType.JOINED) | @Table(name = "baseclass") | public abstract class Baseclass implements java.io.Serializable { | | private String internalid; | | @Id | @Column(name = "INTERNALID", unique = true, nullable = false, insertable = true, updatable = true, length = 34) | public String getInternalid() { | return this.internalid; | } | public void setInternalid(String internalid) { | this.internalid = internalid; | } | }
@Entity | @Table(name = "parent") | public class Parent extends Baseclass | { | | private String name; | | public String getName(){ | return this.name; | } | public void setName(String name){ | this.name = name; | } | } @Entity | @Table(name = "child") | public class Child implements java.io.Serializable { | | private String internalid; | private String name; | private Parent parent; | | @Id | @Column(name = "INTERNALID", unique = true, nullable = false, insertable = true, updatable = true, length = 34) | public String getInternalid() { | return this.internalid; | } | public void setInternalid(String internalid) { | this.internalid = internalid; | } | | public String getName(){ | return this.name; | } | public void setName(String name){ | this.name = name; | } | | @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE}) | @JoinTable(name="hierarchy", | joinColumns = @JoinColumn( name="childinternalid"), | inverseJoinColumns = @JoinColumn( name="parentinternalid")) | public Parent getParent(){ | return this.parent; | } | public void setParent(Parent parent){ | this.parent = parent; | } | } When I try this in JBOSSAS4.0.4GA I receive the following error: 14:24:09,268 ERROR [AssertionFailure] an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session) | org.hibernate.AssertionFailure: Table hierarchy not found | at org.hibernate.persister.entity.JoinedSubclassEntityPersister.getTableId(JoinedSubclassEntityPersister.java:444) | at org.hibernate.persister.entity.JoinedSubclassEntityPersister.<init>(JoinedSubclassEntityPersister.java:225) | at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:58) | at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:223) | at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1213) | at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:631) | at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:760) | at org.hibernate.ejb.Ejb3Configuration.createContainerEntityManagerFactory(Ejb3Configuration.java:350) | at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:119) | at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:264) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:585) | | ... If I switch the association to @OneToMany on the parent side there is no error. I have also experenced this same error using bidirectional @OneToOne with an association table where either end is using @Inheritance(strategy=InheritanceType.JOINED), and if I make it unidirectional on the end without @Inheritance(strategy=InheritanceType.JOINED) it does not throw the error. I'm not sure what I am doing wrong, and thanks for all the help this forum gives me. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3945463#3945463 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3945463 ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user