From: <leg...@at...> - 2003-09-04 17:19:28
|
The following comment has been added to this issue: Author: Tim Schafer Created: Thu, 4 Sep 2003 12:18 PM Body: Adding the following change if(str.length() == 0) return new Character( ' ' ); else return new Character( str.charAt(0) ); in place of return new Character( str.charAt(0) ); makes the problem go away The part I don't understand is why CharacterType was even being used The column in the mysql 4.0.13 database is of type varchar(15) --------------------------------------------------------------------- View the issue: http://opensource.atlassian.com/projects/hibernate/secure/ViewIssue.jspa?key=HB-310 Here is an overview of the issue: --------------------------------------------------------------------- Key: HB-310 Summary: CharacterType.get(ResultSet rs, String name) on zero length String Type: Bug Status: Unassigned Priority: Blocker Project: Hibernate2 Components: core Versions: 2.0.2 2.0.3 Assignee: Reporter: Tim Schafer Created: Thu, 4 Sep 2003 11:03 AM Updated: Thu, 4 Sep 2003 11:03 AM Environment: Sun JDK 1.4.2 Mysql 4.0.13 Description: The get method of CharacterType is calling java.lang.String.charAt(0) on a String instance that has zero length This resulted rom trying to load a mapped object from a Mysql 4.0.13 record that has a blank column Sep 4, 2003 8:55:27 AM net.sf.hibernate.impl.IteratorImpl next SEVERE: could not get next result java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source) at net.sf.hibernate.type.CharacterType.get(CharacterType.java:19) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:59) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:51) at net.sf.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:139) at net.sf.hibernate.collection.CollectionPersister.readElement(CollectionPersister.java:377) at net.sf.hibernate.collection.Set.readFrom(Set.java:242) at net.sf.hibernate.loader.Loader.doFind(Loader.java:175) at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602) at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:82) at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:2897) at net.sf.hibernate.collection.PersistentCollection.getInitialValue(PersistentCollection.java:128) at net.sf.hibernate.type.PersistentCollectionType.getCollection(PersistentCollectionType.java:74) at net.sf.hibernate.type.PersistentCollectionType.resolveIdentifier(PersistentCollectionType.java:177) at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1959) at net.sf.hibernate.loader.Loader.doFind(Loader.java:196) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:587) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:42) at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:396) at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:1889) at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1757) at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1716) at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:62) at net.sf.hibernate.type.EntityType.nullSafeGet(EntityType.java:109) at net.sf.hibernate.impl.IteratorImpl.postNext(IteratorImpl.java:57) at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:70) at test.TestHibernate.main(TestHibernate.java:94) java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source) at net.sf.hibernate.type.CharacterType.get(CharacterType.java:19) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:59) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:51) at net.sf.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:139) at net.sf.hibernate.collection.CollectionPersister.readElement(CollectionPersister.java:377) at net.sf.hibernate.collection.Set.readFrom(Set.java:242) at net.sf.hibernate.loader.Loader.doFind(Loader.java:175) at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602) at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:82) at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:2897) at net.sf.hibernate.collection.PersistentCollection.getInitialValue(PersistentCollection.java:128) at net.sf.hibernate.type.PersistentCollectionType.getCollection(PersistentCollectionType.java:74) at net.sf.hibernate.type.PersistentCollectionType.resolveIdentifier(PersistentCollectionType.java:177) at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1959) at net.sf.hibernate.loader.Loader.doFind(Loader.java:196) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:587) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:42) at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:396) at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:1889) at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1757) at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1716) at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:62) at net.sf.hibernate.type.EntityType.nullSafeGet(EntityType.java:109) at net.sf.hibernate.impl.IteratorImpl.postNext(IteratorImpl.java:57) at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:70) at test.TestHibernate.main(TestHibernate.java:94) rethrown as net.sf.hibernate.LazyInitializationException: Hibernate lazy instantiation problem: String index out of range: 0 at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:81) at test.TestHibernate.main(TestHibernate.java:94) Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source) at net.sf.hibernate.type.CharacterType.get(CharacterType.java:19) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:59) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:51) at net.sf.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:139) at net.sf.hibernate.collection.CollectionPersister.readElement(CollectionPersister.java:377) at net.sf.hibernate.collection.Set.readFrom(Set.java:242) at net.sf.hibernate.loader.Loader.doFind(Loader.java:175) at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602) at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:82) at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:2897) at net.sf.hibernate.collection.PersistentCollection.getInitialValue(PersistentCollection.java:128) at net.sf.hibernate.type.PersistentCollectionType.getCollection(PersistentCollectionType.java:74) at net.sf.hibernate.type.PersistentCollectionType.resolveIdentifier(PersistentCollectionType.java:177) at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1959) at net.sf.hibernate.loader.Loader.doFind(Loader.java:196) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:587) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:42) at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:396) at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:1889) at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1757) at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1716) at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:62) at net.sf.hibernate.type.EntityType.nullSafeGet(EntityType.java:109) at net.sf.hibernate.impl.IteratorImpl.postNext(IteratorImpl.java:57) at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:70) ... 1 more --------------------------------------------------------------------- JIRA INFORMATION: This message is automatically generated by JIRA. If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira |
From: <leg...@at...> - 2003-09-04 22:49:28
|
The following comment has been added to this issue: Author: Tim Schafer Created: Thu, 4 Sep 2003 5:48 PM Body: Ok the reason that CharacterType is being used is that the class being mapped to uses a char for that attribute Duh! I created a String attribute in the class to map to and all is well But there does seems to be a bug here I created a char column in the database copied the varchar column to it and mapped that to the char attribute If that char column is blank it will trip up the same section of CharacterType Mapping a char column from a mysql table to a char attribute does seem a legitimate use case. And hibernate shouldn't blow up because that char column is blank I'm not sure if the blank char should map to a null char or a ' ' But I think ' ' would preserve the semantics in the case of Mysql columns whereas null would imply the column was NULL in the database This bug's priority can be lowered as far as I'm concerned though --------------------------------------------------------------------- View the issue: http://opensource.atlassian.com/projects/hibernate/secure/ViewIssue.jspa?key=HB-310 Here is an overview of the issue: --------------------------------------------------------------------- Key: HB-310 Summary: CharacterType.get(ResultSet rs, String name) on zero length String Type: Bug Status: Unassigned Priority: Blocker Project: Hibernate2 Components: core Versions: 2.0.2 2.0.3 Assignee: Reporter: Tim Schafer Created: Thu, 4 Sep 2003 11:03 AM Updated: Thu, 4 Sep 2003 11:03 AM Environment: Sun JDK 1.4.2 Mysql 4.0.13 Description: The get method of CharacterType is calling java.lang.String.charAt(0) on a String instance that has zero length This resulted rom trying to load a mapped object from a Mysql 4.0.13 record that has a blank column Sep 4, 2003 8:55:27 AM net.sf.hibernate.impl.IteratorImpl next SEVERE: could not get next result java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source) at net.sf.hibernate.type.CharacterType.get(CharacterType.java:19) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:59) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:51) at net.sf.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:139) at net.sf.hibernate.collection.CollectionPersister.readElement(CollectionPersister.java:377) at net.sf.hibernate.collection.Set.readFrom(Set.java:242) at net.sf.hibernate.loader.Loader.doFind(Loader.java:175) at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602) at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:82) at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:2897) at net.sf.hibernate.collection.PersistentCollection.getInitialValue(PersistentCollection.java:128) at net.sf.hibernate.type.PersistentCollectionType.getCollection(PersistentCollectionType.java:74) at net.sf.hibernate.type.PersistentCollectionType.resolveIdentifier(PersistentCollectionType.java:177) at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1959) at net.sf.hibernate.loader.Loader.doFind(Loader.java:196) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:587) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:42) at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:396) at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:1889) at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1757) at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1716) at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:62) at net.sf.hibernate.type.EntityType.nullSafeGet(EntityType.java:109) at net.sf.hibernate.impl.IteratorImpl.postNext(IteratorImpl.java:57) at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:70) at test.TestHibernate.main(TestHibernate.java:94) java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source) at net.sf.hibernate.type.CharacterType.get(CharacterType.java:19) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:59) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:51) at net.sf.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:139) at net.sf.hibernate.collection.CollectionPersister.readElement(CollectionPersister.java:377) at net.sf.hibernate.collection.Set.readFrom(Set.java:242) at net.sf.hibernate.loader.Loader.doFind(Loader.java:175) at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602) at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:82) at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:2897) at net.sf.hibernate.collection.PersistentCollection.getInitialValue(PersistentCollection.java:128) at net.sf.hibernate.type.PersistentCollectionType.getCollection(PersistentCollectionType.java:74) at net.sf.hibernate.type.PersistentCollectionType.resolveIdentifier(PersistentCollectionType.java:177) at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1959) at net.sf.hibernate.loader.Loader.doFind(Loader.java:196) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:587) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:42) at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:396) at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:1889) at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1757) at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1716) at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:62) at net.sf.hibernate.type.EntityType.nullSafeGet(EntityType.java:109) at net.sf.hibernate.impl.IteratorImpl.postNext(IteratorImpl.java:57) at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:70) at test.TestHibernate.main(TestHibernate.java:94) rethrown as net.sf.hibernate.LazyInitializationException: Hibernate lazy instantiation problem: String index out of range: 0 at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:81) at test.TestHibernate.main(TestHibernate.java:94) Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source) at net.sf.hibernate.type.CharacterType.get(CharacterType.java:19) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:59) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:51) at net.sf.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:139) at net.sf.hibernate.collection.CollectionPersister.readElement(CollectionPersister.java:377) at net.sf.hibernate.collection.Set.readFrom(Set.java:242) at net.sf.hibernate.loader.Loader.doFind(Loader.java:175) at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602) at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:82) at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:2897) at net.sf.hibernate.collection.PersistentCollection.getInitialValue(PersistentCollection.java:128) at net.sf.hibernate.type.PersistentCollectionType.getCollection(PersistentCollectionType.java:74) at net.sf.hibernate.type.PersistentCollectionType.resolveIdentifier(PersistentCollectionType.java:177) at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1959) at net.sf.hibernate.loader.Loader.doFind(Loader.java:196) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:587) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:42) at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:396) at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:1889) at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1757) at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1716) at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:62) at net.sf.hibernate.type.EntityType.nullSafeGet(EntityType.java:109) at net.sf.hibernate.impl.IteratorImpl.postNext(IteratorImpl.java:57) at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:70) ... 1 more --------------------------------------------------------------------- JIRA INFORMATION: This message is automatically generated by JIRA. If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira |
From: <leg...@at...> - 2003-10-16 11:31:28
|
The following comment has been added to this issue: Author: the_Ellessar Created: Thu, 16 Oct 2003 6:30 AM Body: I came across the same problem using SAPDB 7.4. I think it should either return null or a character. But what happens now is that I get a java.lang.StringIndexOutOfBoundsException. It is now not possible to use character type's if a value in the database can be null. Fix: Index: CharacterType.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/type/CharacterType.java,v retrieving revision 1.5 diff -u -r1.5 CharacterType.java --- CharacterType.java 1 Mar 2003 12:15:28 -0000 1.5 +++ CharacterType.java 16 Oct 2003 11:13:30 -0000 @@ -12,7 +12,7 @@ public Object get(ResultSet rs, String name) throws SQLException { String str = rs.getString(name); - if (str==null) { + if (str == null || str.length() == 0) { return null; } else { --------------------------------------------------------------------- View the issue: http://opensource.atlassian.com/projects/hibernate/secure/ViewIssue.jspa?key=HB-310 Here is an overview of the issue: --------------------------------------------------------------------- Key: HB-310 Summary: CharacterType.get(ResultSet rs, String name) on zero length String Type: Bug Status: Closed Priority: Blocker Resolution: REJECTED Project: Hibernate2 Components: core Versions: 2.0.2 2.0.3 Assignee: Reporter: Tim Schafer Created: Thu, 4 Sep 2003 11:03 AM Updated: Thu, 4 Sep 2003 9:31 PM Environment: Sun JDK 1.4.2 Mysql 4.0.13 Description: The get method of CharacterType is calling java.lang.String.charAt(0) on a String instance that has zero length This resulted rom trying to load a mapped object from a Mysql 4.0.13 record that has a blank column Sep 4, 2003 8:55:27 AM net.sf.hibernate.impl.IteratorImpl next SEVERE: could not get next result java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source) at net.sf.hibernate.type.CharacterType.get(CharacterType.java:19) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:59) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:51) at net.sf.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:139) at net.sf.hibernate.collection.CollectionPersister.readElement(CollectionPersister.java:377) at net.sf.hibernate.collection.Set.readFrom(Set.java:242) at net.sf.hibernate.loader.Loader.doFind(Loader.java:175) at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602) at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:82) at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:2897) at net.sf.hibernate.collection.PersistentCollection.getInitialValue(PersistentCollection.java:128) at net.sf.hibernate.type.PersistentCollectionType.getCollection(PersistentCollectionType.java:74) at net.sf.hibernate.type.PersistentCollectionType.resolveIdentifier(PersistentCollectionType.java:177) at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1959) at net.sf.hibernate.loader.Loader.doFind(Loader.java:196) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:587) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:42) at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:396) at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:1889) at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1757) at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1716) at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:62) at net.sf.hibernate.type.EntityType.nullSafeGet(EntityType.java:109) at net.sf.hibernate.impl.IteratorImpl.postNext(IteratorImpl.java:57) at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:70) at test.TestHibernate.main(TestHibernate.java:94) java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source) at net.sf.hibernate.type.CharacterType.get(CharacterType.java:19) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:59) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:51) at net.sf.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:139) at net.sf.hibernate.collection.CollectionPersister.readElement(CollectionPersister.java:377) at net.sf.hibernate.collection.Set.readFrom(Set.java:242) at net.sf.hibernate.loader.Loader.doFind(Loader.java:175) at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602) at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:82) at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:2897) at net.sf.hibernate.collection.PersistentCollection.getInitialValue(PersistentCollection.java:128) at net.sf.hibernate.type.PersistentCollectionType.getCollection(PersistentCollectionType.java:74) at net.sf.hibernate.type.PersistentCollectionType.resolveIdentifier(PersistentCollectionType.java:177) at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1959) at net.sf.hibernate.loader.Loader.doFind(Loader.java:196) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:587) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:42) at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:396) at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:1889) at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1757) at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1716) at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:62) at net.sf.hibernate.type.EntityType.nullSafeGet(EntityType.java:109) at net.sf.hibernate.impl.IteratorImpl.postNext(IteratorImpl.java:57) at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:70) at test.TestHibernate.main(TestHibernate.java:94) rethrown as net.sf.hibernate.LazyInitializationException: Hibernate lazy instantiation problem: String index out of range: 0 at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:81) at test.TestHibernate.main(TestHibernate.java:94) Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source) at net.sf.hibernate.type.CharacterType.get(CharacterType.java:19) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:59) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:51) at net.sf.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:139) at net.sf.hibernate.collection.CollectionPersister.readElement(CollectionPersister.java:377) at net.sf.hibernate.collection.Set.readFrom(Set.java:242) at net.sf.hibernate.loader.Loader.doFind(Loader.java:175) at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602) at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:82) at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:2897) at net.sf.hibernate.collection.PersistentCollection.getInitialValue(PersistentCollection.java:128) at net.sf.hibernate.type.PersistentCollectionType.getCollection(PersistentCollectionType.java:74) at net.sf.hibernate.type.PersistentCollectionType.resolveIdentifier(PersistentCollectionType.java:177) at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1959) at net.sf.hibernate.loader.Loader.doFind(Loader.java:196) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:587) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:42) at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:396) at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:1889) at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1757) at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1716) at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:62) at net.sf.hibernate.type.EntityType.nullSafeGet(EntityType.java:109) at net.sf.hibernate.impl.IteratorImpl.postNext(IteratorImpl.java:57) at net.sf.hibernate.impl.IteratorImpl.next(IteratorImpl.java:70) ... 1 more --------------------------------------------------------------------- JIRA INFORMATION: This message is automatically generated by JIRA. If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira |