java.lang.ExceptionInInitializerError

Hibernate JIRA | Gerald Klopp | 10 years ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    I'd like to specify the on-delete="cascade" attribute for a map or for a set with just one element. When I try to do this, I get the following exception : Initial SessionFactory creation failed.org.hibernate.MappingException: only inverse one-to-many associations may use on-delete="cascade" The on-delete="cascade" attribute can be specified for more complex relationships like one-to-many. But it seems that the case of a simple map or set is not covered. - Mapping document example: <hibernate-mapping> <class name="Document" table="DOCUMENT"> <id name="id" column="DOCUMENT_ID"> <generator class="native" /> </id> <map name="titles" table="DOCUMENT_TITLE" lazy="false"> <key column="DOCUMENT_ID" on-delete="cascade" /> <index column="LANGUAGE" type="string" /> <element column="TITLE" type="text" not-null="true" /> </map> <set name="references" table="DOCUMENT_REFERENCE" lazy="false"> <key column="DOCUMENT_ID" on-delete="cascade" /> <element type="string" column="REFERENCE" /> </set> </class> </hibernate-mapping> - Exception stack trace : Initial SessionFactory creation failed.org.hibernate.MappingException: only inverse one-to-many associations may use on-delete="cascade": Document.references Exception in thread "main" java.lang.ExceptionInInitializerError at fr.gklopp.test.hibernate3.util.HibernateUtil.<clinit>(HibernateUtil.java:17) at fr.gklopp.test.hibernate3.simple.DocumentManager.createAndStoreDocument(DocumentManager.java:23) at fr.gklopp.test.hibernate3.simple.DocumentManager.main(DocumentManager.java:68) Caused by: org.hibernate.MappingException: only inverse one-to-many associations may use on-delete="cascade": fr.gklopp.test.hibernate3.simple.Document.references at org.hibernate.mapping.Collection.validate(Collection.java:267) at org.hibernate.mapping.Set.validate(Set.java:19) at org.hibernate.cfg.Configuration.validate(Configuration.java:1106) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1287) at fr.gklopp.test.hibernate3.util.HibernateUtil.<clinit>(HibernateUtil.java:13) ... 2 more - Database : Oracle 10

    Hibernate JIRA | 10 years ago | Gerald Klopp
    java.lang.ExceptionInInitializerError
  2. 0

    I'd like to specify the on-delete="cascade" attribute for a map or for a set with just one element. When I try to do this, I get the following exception : Initial SessionFactory creation failed.org.hibernate.MappingException: only inverse one-to-many associations may use on-delete="cascade" The on-delete="cascade" attribute can be specified for more complex relationships like one-to-many. But it seems that the case of a simple map or set is not covered. - Mapping document example: <hibernate-mapping> <class name="Document" table="DOCUMENT"> <id name="id" column="DOCUMENT_ID"> <generator class="native" /> </id> <map name="titles" table="DOCUMENT_TITLE" lazy="false"> <key column="DOCUMENT_ID" on-delete="cascade" /> <index column="LANGUAGE" type="string" /> <element column="TITLE" type="text" not-null="true" /> </map> <set name="references" table="DOCUMENT_REFERENCE" lazy="false"> <key column="DOCUMENT_ID" on-delete="cascade" /> <element type="string" column="REFERENCE" /> </set> </class> </hibernate-mapping> - Exception stack trace : Initial SessionFactory creation failed.org.hibernate.MappingException: only inverse one-to-many associations may use on-delete="cascade": Document.references Exception in thread "main" java.lang.ExceptionInInitializerError at fr.gklopp.test.hibernate3.util.HibernateUtil.<clinit>(HibernateUtil.java:17) at fr.gklopp.test.hibernate3.simple.DocumentManager.createAndStoreDocument(DocumentManager.java:23) at fr.gklopp.test.hibernate3.simple.DocumentManager.main(DocumentManager.java:68) Caused by: org.hibernate.MappingException: only inverse one-to-many associations may use on-delete="cascade": fr.gklopp.test.hibernate3.simple.Document.references at org.hibernate.mapping.Collection.validate(Collection.java:267) at org.hibernate.mapping.Set.validate(Set.java:19) at org.hibernate.cfg.Configuration.validate(Configuration.java:1106) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1287) at fr.gklopp.test.hibernate3.util.HibernateUtil.<clinit>(HibernateUtil.java:13) ... 2 more - Database : Oracle 10

    Hibernate JIRA | 10 years ago | Gerald Klopp
    java.lang.ExceptionInInitializerError
  3. 0

    Unable to instantiate custom type error in Hibernate mapping Enum mapping

    Stack Overflow | 4 years ago | Johnny
    org.hibernate.MappingException: Unable to instantiate custom type: org.hibernate.type.EnumType
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Hibernate mapping. Table related with other two

    Stack Overflow | 2 years ago | Rob
    org.hibernate.MappingException: An association from the table A refers to an unmapped class: Shortcut
  6. 0

    To reproduce this issue you need to: a) Load some hbm files using the AnnotationConfiguration b) Use a subclass reference referring to a class in a separate file via the "extends" attribute in your hbm files What happens is that you will get an exception from the buildSessionFactory call on AnnotationConfiguration similar to the following: org.hibernate.MappingException: Following superclasses referenced in extends not found: org.gs1.v202.gdsn.RegistryPartyDataDumpType at org.hibernate.cfg.Configuration.processExtendsQueue(Configuration.java:1077) at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1016) at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:218) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1138) A simple workaround is to use the base Configuration class rather than the AnnotationConfiguration. However, this is not practical if you need to load a mix of existing hbm files as well as new classes that use annotations. The reason that this occurs is that the AnnotationConfiguration class overrides the add method of Configuration, storing all of the hbm files in a Map for later processing. This works fine for regular class files; however, it is not compatible with the recursive hbm file processing performed by processExtendsQueue. I've attached a fix for this issue that disables the delayed hbm processing before processing of the extends queue begins. This modification fixes this issue in the unit tests of the application I am working on. Please see the attached java file that includes the integrated fix built off the latest CVS version, as well as the unified diff I created via CVS. I would appreciate it if this fix could be rolled into the upcoming 3.1beta7, and would be happy to help out with whatever documentation or unit tests are needed for final integration. Cheers, --Steve

    Hibernate JIRA | 1 decade ago | Stephen Chin
    org.hibernate.MappingException: Following superclasses referenced in extends not found: org.gs1.v202.gdsn.RegistryPartyDataDumpType

  1. kuldeep 16 times, last 8 months ago
  2. esaar 1 times, last 10 months ago
  3. r1chjames 1 times, last 11 months ago
  4. Kawada 6 times, last 12 months ago
  5. Harsh 1 times, last 1 year ago
34 unregistered visitors
Not finding the right solution?
Take a tour to get the most out of Samebug.

Tired of useless tips?

Automated exception search integrated into your IDE

Root Cause Analysis

  1. org.hibernate.MappingException

    only inverse one-to-many associations may use on-delete="cascade": fr.gklopp.test.hibernate3.simple.Document.references

    at org.hibernate.mapping.Collection.validate()
  2. Hibernate
    Configuration.buildSessionFactory
    1. org.hibernate.mapping.Collection.validate(Collection.java:267)
    2. org.hibernate.mapping.Set.validate(Set.java:19)
    3. org.hibernate.cfg.Configuration.validate(Configuration.java:1106)
    4. org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1287)
    4 frames
  3. fr.gklopp.test
    DocumentManager.main
    1. fr.gklopp.test.hibernate3.util.HibernateUtil.<clinit>(HibernateUtil.java:13)
    2. fr.gklopp.test.hibernate3.simple.DocumentManager.createAndStoreDocument(DocumentManager.java:23)
    3. fr.gklopp.test.hibernate3.simple.DocumentManager.main(DocumentManager.java:68)
    3 frames