Hi all,
I have a many to one relationship between module and assessment (one
module may have many assessments) in the project I am working on.
After creating some Modules, i do a getAssessments() and then add to the
collection newly created Assessments.
However when I want to tidy up after the test, I attempt to call
.remove() on an assessment and the following error occurs :
java.rmi.ServerException: Store failed; nested exception is:
java.sql.SQLException: ERROR: ExecReplace: Fail to add null
value in not null attribute module_code
Strangely after calling assessment.remove() the container does an
ejbStore... which seems strange to me.
Could this problem be due to me using transactions wrongly?
[14:56:21,347,Default] AssessmentBean : ejbCreate()
[14:56:21,348,Default] TEST_ASS_1:Hello big
world:http://www.aber.ac.uk/ass1:CS99910
[14:56:21,437,Default] AssessmentBean : ejbCreate()
[14:56:21,437,Default] TEST_ASS_2:Hello big world
advanced:http://www.aber.ac.uk/ass2:CS99920
[14:56:21,465,Default] AssessmentBean : ejbCreate()
[14:56:21,466,Default] TEST_ASS_3:Hello big world easy
level:http://www.aber.ac.uk/ass3:CS99930
[14:56:21,478,Default] DEBUG : BigTest : Assessments created ...
[14:56:21,490,Default] DEBUG : BigTest : Assessments associated with
module ...
[14:56:21,497,Default] DEBUG : BigTest : test_Assessment()
[14:56:21,503,Default] DEBUG : BigTest : tearDown()
...
[14:56:21,521,Default] DEBUG : BigTest :1 Removed assList0
[14:56:21,524,Default] DEBUG : BigTest :1 Removed assList2
[14:56:21,528,Default] DEBUG : BigTest :2 Removed assList1
[14:56:21,538,Default] DEBUG : AssessmentBean : ejbStore()
[14:56:21,553,Default] java.sql.SQLException: ERROR: ExecReplace: Fail
to add null value in not null attribute module_code
[14:56:21,553,Default] at org.postgresql.Connection.ExecSQL(Unknown Source)
[14:56:21,554,Default] at
org.postgresql.jdbc2.Statement.execute(Unknown Source)
[14:56:21,554,Default] at
org.postgresql.jdbc2.Statement.executeUpdate(Unknown Source)
[14:56:21,555,Default] at
org.postgresql.jdbc2.PreparedStatement.executeUpdate(Unknown Source)
[14:56:21,555,Default] at
org.jboss.resource.adapter.jdbc.local.PreparedStatementInPool.executeUpdate(PreparedStatementInPool.java:881)
[14:56:21,556,Default] at
org.jboss.ejb.plugins.cmp.jdbc.JDBCUpdateCommand.executeStatementAndHandleResult(JDBCUpdateCommand.java:46)
[14:56:21,556,Default] at
org.jboss.ejb.plugins.cmp.jdbc.JDBCCommand.jdbcExecute(JDBCCommand.java:102)
The code which creates the assessments is :
Collection assessmentList1 = module1.getAssessments();
Collection assessmentList2 = module2.getAssessments();
Collection assessmentList3 = module3.getAssessments();
AssessmentLocalHome alh = this.getAssessmentLocalHome();
assList[0] = alh.create(assessmentId_1, moduleCode_1,
assessmentDescription_1, assessmentUrl_1, assessmentDateDue_1,
assessmentNumberOfMarkers_1);
assList[1] = alh.create(assessmentId_2, moduleCode_2,
assessmentDescription_2, assessmentUrl_2, assessmentDateDue_2,
assessmentNumberOfMarkers_2);
assList[2] = alh.create(assessmentId_3, moduleCode_3,
assessmentDescription_3, assessmentUrl_3, assessmentDateDue_3,
assessmentNumberOfMarkers_3);
System.out.println("DEBUG : BigTest : Assessments created ...");
// module 1 has two assessments (1 and 3)
// module 2 has one assessment (2)
// module 3 has none
assessmentList1.add(assList[0]);
assessmentList2.add(assList[1]);
assessmentList1.add(assList[2]);
System.out.println("DEBUG : BigTest : Assessments associated with module
...");
assertTrue(module1.getAssessments().contains(assList[0]));
assertTrue(module1.getAssessments().contains(assList[2]));
assertTrue(module2.getAssessments().contains(assList[1]));
The code which attempts to remove the assessment's is :
Collection dud = module1.getAssessments();
for (int i=0; i<3; i++)
{
if(dud.contains(assList[i]))
{
dud.remove(assList[i]);
System.out.println("DEBUG : BigTest :1 Removed assList"+i);
}
}
Using Jboss 3.0.0 alpha, with container managed persistance and
relationships.
Thanks in advance for any help
David.
--
David Goodwin
[ [EMAIL PROTECTED] ]----[ http://www.codepoets.co.uk ]
[ BEng Software Engineering, Uni. of Wales, Aberystwyth ]
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user