I have a problem with inserting all table data of one table to another
table in other RDBMS. Following code works, but it stores not all the
data, but only first object.
Where I`m wrong ?
Please help.
import org.apache.ojb.broker.PersistenceBroker;
import org.apache.ojb.broker.PersistenceBrokerException;
import org.apache.ojb.broker.PersistenceBrokerFactory;
import org.apache.ojb.broker.query.QueryByCriteria;
import org.apache.ojb.broker.query.Criteria;
import org.apache.ojb.broker.metadata.DescriptorRepository;
import org.apache.ojb.broker.metadata.FieldDescriptor;
import org.apache.ojb.broker.metadata.MetadataManager;
import org.apache.ojb.broker.metadata.ClassDescriptor;
import java.util.Iterator;
public class From_MySQL_2_HSQL_DB_testing
{
public static void main(String args[])
{
PersistenceBroker hsql_db_broker = null;
PersistenceBroker mysql_db_broker = null;
Object result = null;
ClassDescriptor hsql_db_Domain_classDescriptor = null;
ClassDescriptor mysql_db_Domain_classDescriptor = null;
try
{
hsql_db_broker =
PersistenceBrokerFactory.createPersistenceBroker("HSQL_OJB_Files",
"root", "");
mysql_db_broker =
PersistenceBrokerFactory.createPersistenceBroker("MySQL_Main_Database",
"root", "");
hsql_db_Domain_classDescriptor =
hsql_db_broker.getClassDescriptor(Domain.class);
hsql_db_Domain_classDescriptor.setTableName("hsqldb_domain");
mysql_db_Domain_classDescriptor =
mysql_db_broker.getClassDescriptor(Domain.class);
mysql_db_Domain_classDescriptor.setTableName("domain");
Criteria criteria = new Criteria();
criteria.addLike("Domain", "%");
QueryByCriteria query = new QueryByCriteria(Domain.class, criteria);
Iterator bdIterator = mysql_db_broker.getIteratorByQuery(query);
while(bdIterator.hasNext())
{
mysql_db_Domain_classDescriptor.setTableName("domain");
result = bdIterator.next();
hsql_db_Domain_classDescriptor.setTableName("hsqldb_domain");
hsql_db_broker.beginTransaction();
hsql_db_broker.store(result);
hsql_db_broker.commitTransaction();
System.out.println(((Domain)result).Name);
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
//close HSQLDB connection
hsql_db_broker.close();
//close MySQL connection
mysql_db_broker.close();
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]