I'm getting the
PropertyAccessException exception which provides not great help. The mapping, code, and trace are below if anyone could help me understand what property is failing (frustration is deeply set in).
The Trace Output
Code:
11:15:29,539 DEBUG SessionFactoryImpl prepared statement get: select sentmess0_.sentMessagePK as sentMess1___, sentmess0_.idx as idx__, sentmess0_.sentMessagePK as sentMessagePK, sentmess0_.version as version, sentmess0_.sender as sender, sentmess0_.recipient as recipient, sentmess0_.subject as subject, sentmess0_.message as message, sentmess0_.sentDate as sentDate, sentmess0_.sentFolderPK as sentFold8_ from SentMessage sentmess0_ where sentmess0_.sentFolderPK=?
11:15:29,539 DEBUG PreparedStatementCache preparing statement: select sentmess0_.sentMessagePK as sentMess1___, sentmess0_.idx as idx__, sentmess0_.sentMessagePK as sentMessagePK, sentmess0_.version as version, sentmess0_.sender as sender, sentmess0_.recipient as recipient, sentmess0_.subject as subject, sentmess0_.message as message, sentmess0_.sentDate as sentDate, sentmess0_.sentFolderPK as sentFold8_ from SentMessage sentmess0_ where sentmess0_.sentFolderPK=?
11:15:29,539 DEBUG LongType binding '1835010' to parameter: 1
11:15:29,539 DEBUG Loader processing result set
11:15:29,539 DEBUG LongType returning '1900545' as column: sentMessagePK
11:15:29,539 DEBUG Loader result row: 1900545
11:15:29,539 DEBUG Loader Initializing object from ResultSet: 1900545
11:15:29,539 DEBUG Loader Hydrating entity: com.qsipayments.voicepersonals.messaging.SentMessage#1900545
11:15:29,539 DEBUG IntegerType returning '1' as column: version
11:15:29,539 DEBUG StringType returning 'shanerowatt' as column: sender
11:15:29,539 DEBUG StringType returning 'carolhunter' as column: recipient
11:15:29,539 DEBUG StringType returning 'I Feel Comfortably Numb' as column: subject
11:15:29,539 DEBUG StringType returning 'Is there anybody out there...' as column: message
11:15:29,539 DEBUG DateType returning '18 September 2003' as column: sentDate
11:15:29,539 DEBUG LongType returning '1835010' as column: sentFold8_
11:15:29,549 DEBUG SessionImpl Version: 1
11:15:29,549 DEBUG LongType returning '1900545' as column: sentMess1___
11:15:29,549 DEBUG SessionImpl loading [com.qsipayments.voicepersonals.messaging.SentMessage#1900545]
11:15:29,549 DEBUG SessionImpl attempting to resolve [com.qsipayments.voicepersonals.messaging.SentMessage#1900545]
11:15:29,549 DEBUG SessionImpl resolved object in session cache [com.qsipayments.voicepersonals.messaging.SentMessage#1900545]
11:15:29,549 DEBUG IntegerType returning '0' as column: idx__
11:15:29,549 DEBUG Loader done processing result set (1 rows)
11:15:29,549 DEBUG BatcherImpl done closing: 0 open PreparedStatements, 0 open ResultSets
11:15:29,549 DEBUG PreparedStatementCache recaching
11:15:29,549 DEBUG PreparedStatementCache total checked-out statements: 0
11:15:29,549 DEBUG PreparedStatementCache checked out: []
11:15:29,549 DEBUG Loader total objects hydrated: 1
11:15:29,549 DEBUG SessionImpl resolving associations for [com.qsipayments.voicepersonals.messaging.SentMessage#1900545]
11:15:29,549 DEBUG SessionImpl loading [com.qsipayments.voicepersonals.messaging.SentFolder#1835010]
11:15:29,549 DEBUG SessionImpl attempting to resolve [com.qsipayments.voicepersonals.messaging.SentFolder#1835010]
11:15:29,549 DEBUG SessionImpl resolved object in session cache [com.qsipayments.voicepersonals.messaging.SentFolder#1835010]
11:15:29,559 ERROR MessageServiceTest [16671929] XX0000 - Unable to perform test. - com.qsipayments.voicepersonals.messaging.FolderNotFoundException: Unable to find Sent Folder for owner shanerowatt [caused by: net.sf.hibernate.PropertyAccessException: exception setting property value with CGLIB setter of com.qsipayments.voicepersonals.messaging.SentMessage.?]
com.qsipayments.voicepersonals.messaging.FolderNotFoundException: Unable to find Sent Folder for owner shanerowatt [caused by: net.sf.hibernate.PropertyAccessException: exception setting property value with CGLIB setter of com.qsipayments.voicepersonals.messaging.SentMessage.?]
at com.qsipayments.voicepersonals.messaging.MessagingService.getSentFolder(MessagingService.java:137)
at com.qsipayments.voicepersonals.messaging.MessagingService.sendMessage(MessagingService.java:190)
at com.qsipayments.voicepersonals.messaging.MessageServiceTest.sendMessage(MessageServiceTest.java:187)
at com.qsipayments.voicepersonals.messaging.MessageServiceTest.testSendMessageToBlockedUser(MessageServiceTest.java:169)
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:324)
at junit.framework.TestCase.runTest(TestCase.java:166)
at junit.framework.TestCase.runBare(TestCase.java:140)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:131)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:325)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:524)
Caused by: net.sf.hibernate.PropertyAccessException: exception setting property value with CGLIB setter of com.qsipayments.voicepersonals.messaging.SentMessage.?
at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:167)
at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1961)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:196)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602)
at net.sf.hibernate.loader.OneToManyLoader.initialize(OneToManyLoader.java:102)
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.find(Loader.java:620)
at net.sf.hibernate.hql.QueryTranslator.find(QueryTranslator.java:928)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1343)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1322)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1318)
at com.qsipayments.voicepersonals.messaging.SentFolderExtent.loadSentFolder(SentFolderExtent.java:56)
at com.qsipayments.voicepersonals.messaging.MessagingService.getSentFolder(MessagingService.java:134)
... 17 more
Caused by: java.lang.ClassCastException
at com.qsipayments.voicepersonals.messaging.SentMessageMetaClass5.setPropertyValues(<generated>)
at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:162)
... 34 more
Caused by: java.lang.ClassCastException
at com.qsipayments.voicepersonals.messaging.SentMessageMetaClass5.setPropertyValues(<generated>)
at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:162)
at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1961)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:196)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602)
at net.sf.hibernate.loader.OneToManyLoader.initialize(OneToManyLoader.java:102)
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.find(Loader.java:620)
at net.sf.hibernate.hql.QueryTranslator.find(QueryTranslator.java:928)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1343)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1322)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1318)
at com.qsipayments.voicepersonals.messaging.SentFolderExtent.loadSentFolder(SentFolderExtent.java:56)
at com.qsipayments.voicepersonals.messaging.MessagingService.getSentFolder(MessagingService.java:134)
at com.qsipayments.voicepersonals.messaging.MessagingService.sendMessage(MessagingService.java:190)
at com.qsipayments.voicepersonals.messaging.MessageServiceTest.sendMessage(MessageServiceTest.java:187)
at com.qsipayments.voicepersonals.messaging.MessageServiceTest.testSendMessageToBlockedUser(MessageServiceTest.java:169)
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:324)
at junit.framework.TestCase.runTest(TestCase.java:166)
at junit.framework.TestCase.runBare(TestCase.java:140)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:131)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:325)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:524)
rethrown as net.sf.hibernate.PropertyAccessException: exception setting property value with CGLIB setter of com.qsipayments.voicepersonals.messaging.SentMessage.?
at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:167)
at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:1961)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:196)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:602)
at net.sf.hibernate.loader.OneToManyLoader.initialize(OneToManyLoader.java:102)
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.find(Loader.java:620)
at net.sf.hibernate.hql.QueryTranslator.find(QueryTranslator.java:928)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1343)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1322)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1318)
at com.qsipayments.voicepersonals.messaging.SentFolderExtent.loadSentFolder(SentFolderExtent.java:56)
at com.qsipayments.voicepersonals.messaging.MessagingService.getSentFolder(MessagingService.java:134)
at com.qsipayments.voicepersonals.messaging.MessagingService.sendMessage(MessagingService.java:190)
at com.qsipayments.voicepersonals.messaging.MessageServiceTest.sendMessage(MessageServiceTest.java:187)
at com.qsipayments.voicepersonals.messaging.MessageServiceTest.testSendMessageToBlockedUser(MessageServiceTest.java:169)
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:324)
at junit.framework.TestCase.runTest(TestCase.java:166)
at junit.framework.TestCase.runBare(TestCase.java:140)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:131)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:325)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:524)
Caused by: java.lang.ClassCastException
at com.qsipayments.voicepersonals.messaging.SentMessageMetaClass5.setPropertyValues(<generated>)
at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:162)
... 34 more
The Mapping FileCode:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.qsipayments.voicepersonals.messaging.SentMessage" table="SentMessage">
<!-- hibernate assigned primary key -->
<id name="sentMessagePK" column="sentMessagePK" type="long">
<generator class="hilo"/>
</id>
<version name="version"/>
<component name="message" class="com.qsipayments.voicepersonals.messaging.Message">
<property name="sender" type="string" not-null="true"/>
<property name="recipient" type="string" not-null="true"/>
<property name="subject" type="string" not-null="true"/>
<property name="message" type="string" not-null="true"/>
</component>
<property name="sentDate" type="date" not-null="true"/>
<many-to-one name="sentFolderPK" class="com.qsipayments.voicepersonals.messaging.SentFolder"/>
</class>
</hibernate-mapping>
The Source CodeCode:
package com.qsipayments.voicepersonals.messaging;
import net.sf.hibernate.Session;
import net.sf.hibernate.CallbackException;
import net.sf.hibernate.Lifecycle;
import java.util.Date;
import java.io.Serializable;
import com.qsipayments.utility.logging.LoggingDelegate;
import com.qsipayments.utility.logging.Logging;
public class SentMessage implements Comparable, Lifecycle, Serializable {
static final long serialVersionUID = -1605405634704951990L;
private static final LoggingDelegate s_log = Logging.getInstance().getDelegate(SentMessage.class);
private Long m_sentMessagePK;
private Long m_sentFolderPK;
private int m_version = 1;
private Message m_message;
private Date m_sentDate;
public SentMessage() {
}
public SentMessage(Message message) {
m_message = message;
m_sentDate = new Date();
}
public Long getSentMessagePK() {
return m_sentMessagePK;
}
public void setSentMessagePK(Long sentMessagePK) {
m_sentMessagePK = sentMessagePK;
}
public Long getSentFolderPK() {
return m_sentFolderPK;
}
public void setSentFolderPK(Long sentFolderPK) {
m_sentFolderPK = sentFolderPK;
}
public void setSentDate(Date sentDate) {
m_sentDate = sentDate;
}
public Date getSentDate() {
return m_sentDate;
}
public void setMessage(Message message) {
m_message = message;
}
public Message getMessage() {
return m_message;
}
public int getVersion() {
return m_version;
}
public void setVersion(int version) {
m_version = version;
}
public boolean onSave(Session s) throws CallbackException {
s_log.debug("SentMessage.onSave(): " + toString());
return false;
}
public boolean onUpdate(Session s) throws CallbackException {
s_log.debug("SentMessage.onUpdate(): " + toString());
return false;
}
public boolean onDelete(Session s) throws CallbackException {
s_log.debug("SentMessage.onDelete(): " + toString());
return false;
}
public void onLoad(Session s, Serializable id) {
s_log.debug("SentMessage.onLoad(): " + toString());
}
}