All:
while trying with a following test code, I am getting the wried results.
(i) The second "store()" actually doing nothing ...i.e not saving the object in
the database [ bold],
(ii) The query return only DB Id correctly and rest are all zero.
==========================
Test code
import test.*;
import java.util.*;
import org.apache.ojb.broker.*;
import org.apache.ojb.broker.query.*;
import org.apache.ojb.broker.query.*;
/**
Testing OR framework : INSERT and Query methods
*/
final public class Test1
{
public Test1 ()
{
for (int i=1; i < 3 ; ++i ) {
System.out.println("INSERT");
insertTest(i);
System.out.println("=========================================");
System.out.println("QUERY");
queryTest();
System.out.println("==END ########################## LOOP===");
}
}
public static void main (String[] args )
{
Test1 test = new Test1();
}
public void insertTest (int i )
{
PersistenceBroker broker = null;
try {
broker = PersistenceBrokerFactory.defaultPersistenceBroker();
broker.beginTransaction();
Test zs = new Test();
System.out.println("<<<<<<<1>>>>>>>>>>Setting attributes of Test");
zs.setColor(10*i);
zs.setBlink(20*i);
zs.setPosX(30*i);
zs.setPosY(40*i);
System.out.println("Getting attributes of Test");
System.out.println("Getting color:" + Integer.toString(zs.getColor()));
System.out.println("Getting blink:" + Integer.toString(zs.getBlink()));
System.out.println("Getting posx:" + Integer.toString(zs.getPosX()));
System.out.println("Getting posy:" + Integer.toString(zs.getPosY()));
broker.store(zs);
System.out.println("<<<<<<<2>>>>>>>Setting attributes of Test");
zs.setColor(11*i);
zs.setBlink(21*i);
zs.setPosX(31*i);
zs.setPosY(41*i);
System.out.println("Getting attributes of Test");
System.out.println("Getting color:" + Integer.toString(zs.getColor()));
System.out.println("Getting blink:" + Integer.toString(zs.getBlink()));
System.out.println("Getting posx:" + Integer.toString(zs.getPosX()));
System.out.println("Getting posy:" + Integer.toString(zs.getPosY()));
broker.store(zs);
broker.commitTransaction();
}
catch (Exception ex) {
ex.printStackTrace();
System.out.println("Error in Test1 1 ");
try {
broker.abortTransaction();
}
catch (Exception ex1) {
}
}
}
public void queryTest()
{
PersistenceBroker broker = null;
try {
Test zs = new Test();
broker = PersistenceBrokerFactory.defaultPersistenceBroker();
broker.beginTransaction();
Iterator it = broker.getIteratorByQuery(new
QueryByCriteria(zs.getClass(),new Criteria()));
System.out.println("Printing ...");
Test tq = null;
int i = 1;
while ( it.hasNext() ) {
tq = (Test)it.next();
System.out.println((new Integer(i++)).toString()+":Query ZonaModeler object of
Test");
System.out.println("Query DBId:" + Integer.toString(tq.getZonaDbId()));
System.out.println("Query color:" + Integer.toString(tq.getColor()));
System.out.println("Query blink:" + Integer.toString(tq.getBlink()));
System.out.println("Query posx:" + Integer.toString(tq.getPosX()));
System.out.println("Query posy:" + Integer.toString(tq.getPosY()));
}
System.out.println("query done...");
broker.commitTransaction();
}
catch (Exception ex) {
ex.printStackTrace();
System.out.println("Error in Test1 1 ");
try {
broker.abortTransaction();
}
catch (Exception ex1) {
}
}
}
}
=================
out put
INSERT
[org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl] INFO: Create
PersistenceBroker instance pool, pool configuration was {whenExhaustedAction=0,
maxIdle=-1, maxActive=100, maxWait=2000, numTestsPerEvictionRun=10,
testWhileIdle=false, testOnReturn=false, timeBetweenEvictionRunsMillis=-1,
minEvictableIdleIimeMillis=600000, testOnBorrow=false}
[org.apache.ojb.broker.util.sequence.SequenceManagerFactory] INFO: Use sequence
manager class: class org.apache.ojb.broker.util.sequence.SequenceManagerHiLoImpl
[org.apache.ojb.broker.accesslayer.ConnectionFactoryPooledImpl] INFO: Create
connection pool for JdbcDescriptorKey 2050622918
[org.apache.ojb.broker.accesslayer.ConnectionFactoryPooledImpl] INFO: Create new
connection pool for org.apache.ojb.broker.metadata.JdbcConnectionDescriptor,
used descriptor: JdbcConnectionDescriptor
DBMS:MsSQLServer
DRIVER: com.microsoft.jdbc.sqlserver.SQLServerDriver
PROTOCOL: jdbc
SUBPROTOCOL: microsoft:sqlserver
DBALIAS:
//127.0.0.1:1433;DatabaseName=adas;SelectMethod=cursor;User=adas;Password=adas;
USERNAME: adas
PASSWORD: adas
EAGER RELEASE: false
pool configuration was: {whenExhaustedAction=0, maxIdle=-1, maxActive=21,
maxWait=5000, numTestsPerEvictionRun=10, testWhileIdle=false, testOnReturn=false,
timeBetweenEvictionRunsMillis=-1, minEvictableIdleIimeMillis=600000, testOnBorrow=true}
<<<<<<<1>>>>>>>>>>Setting attributes of Test
Getting attributes of Test
Getting color:10
Getting blink:20
Getting posx:30
Getting posy:40
<<<<<<<2>>>>>>>Setting attributes of Test
Getting attributes of Test
Getting color:11
Getting blink:21
Getting posx:31
Getting posy:41
=========================================
QUERY
Printing ...
1:Query ZonaModeler object of Test
Query DBId:151
Query color:0
Query blink:0
Query posx:0
Query posy:0
query done...
==END ########################## LOOP===
INSERT
<<<<<<<1>>>>>>>>>>Setting attributes of Test
Getting attributes of Test
Getting color:20
Getting blink:40
Getting posx:60
Getting posy:80
<<<<<<<2>>>>>>>Setting attributes of Test
Getting attributes of Test
Getting color:22
Getting blink:42
Getting posx:62
Getting posy:82
=========================================
QUERY
Printing ...
1:Query ZonaModeler object of Test
Query DBId:151
Query color:0
Query blink:0
Query posx:0
Query posy:0
2:Query ZonaModeler object of Test
Query DBId:161
Query color:0
Query blink:0
Query posx:0
Query posy:0
query done...
==END ########################## LOOP===
Z:\>