-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Help about copying a data base
PostPosted: Thu Jun 09, 2005 11:39 am 
Newbie

Joined: Tue Sep 21, 2004 5:35 am
Posts: 3
Need help with Hibernate? Read this first:
http://www.hibernate.org/ForumMailingli ... AskForHelp

Hibernate version:2.1.6

Mapping documents:
Mapping document of the source database:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping auto-import="false">
<!--
=============================================================================================
ConfigurazionePagamento
=============================================================================================
-->
<!--
ConfigurazionePagamento: Istanza non localizzata
-->
<class name="it.tno.pagamento.configurazione.ConfigurazionePagamento" table="Configurazione">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idConfigurazione" unique="true"/>
<property name="hostMailServer"/>
<property name="tipoMailServer"/>
<property name="versioneStrutturaDataBase"/>
<property name="primoIdOrdinePagamento"/>
<property name="pathContextRoot"/>
<property name="tempoDiAttesaElaborazioneRisposteViaEMail"/>
</class>
<!--
=============================================================================================
ServizioPagamento
=============================================================================================
-->
<!--
ServizioPagamento: Istanza non localizzata
-->
<class name="it.tno.pagamento.servizioPagamento.ServizioPagamento" table="ServizioPagamento">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idServizioPagamento" unique="true"/>
<property name="servizioPagamento"/>
<property name="fornitore"/>
<property name="supportoTerminalID"/>
<property name="supportoOTP"/>
<property name="lunghezzaOTP"/>
<property name="stato"/>
<property name="url"/>
</class>
<!--
=============================================================================================
Applicazione
=============================================================================================
-->
<!--
Applicazione: Istanza non localizzata
-->
<class name="it.tno.pagamento.applicazione.Applicazione" table="Applicazione">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idApplicazione" unique="true"/>
<property name="chiaveHash"/>
<property name="stato"/>
<!-- Opzione all-delete-orphan utile per forzare cancellazione di oggetti figli (bar) non piu' utili -->
<!--
<set name="collezioneI18N" table="FAQI18N" cascade="all-delete-orphan" inverse="true">
<key column="entita_id"/>
<one-to-many class="it.tno.faq.engine.FAQI18N"/>
</set>
-->
<!-- Sezioni associate -->
<!--
<set name="sezioni" table="Sezione" cascade="all-delete-orphan" inverse="true">
<key column="faq_id"/>
<one-to-many class="it.tno.faq.engine.Sezione"/>
</set>
-->
</class>
<!--
=============================================================================================
Venditore
=============================================================================================
-->
<!--
Venditore: Istanza non localizzata
-->
<class name="it.tno.pagamento.venditore.Venditore" table="Venditore">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idApplicazione" column="idApplicazione"/>
<property name="idOrganizzazione" column="idOrganizzazione"/>
<property name="chiaveUnivoca" column="chiaveUnivoca" unique="true"/>
<property name="idServizioPagamento"/>
<property name="idVenditore"/>
<property name="terminalId" type="int"/>
<property name="stato"/>
<property name="logo"/>
<property name="emailOKUsername"/>
<property name="emailOKPassword"/>
<property name="emailKOUsername"/>
<property name="emailKOPassword"/>
<!-- Associazione verso Applicazione -->
<many-to-one name="applicazione" column="applicazione_id" class="it.tno.pagamento.applicazione.Applicazione"/>
</class>
<!--
=============================================================================================
OneTimePassword
=============================================================================================
-->
<!--
OneTimePassword: Istanza non localizzata
-->
<class name="it.tno.pagamento.otp.OneTimePassword" table="OneTimePassword">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idApplicazione" column="idApplicazione"/>
<property name="idOrganizzazione" column="idOrganizzazione"/>
<property name="chiaveUnivoca" column="chiaveUnivoca" unique="true"/>
<property name="flusso"/>
<property name="password"/>
<!-- Associazione verso Venditore -->
<many-to-one name="venditore" column="venditore_id" class="it.tno.pagamento.venditore.Venditore" />
</class>
<!--
=============================================================================================
OrdinePagamento
=============================================================================================
-->
<!--
OrdinePagamento: Istanza non localizzata
-->
<class name="it.tno.pagamento.ordinePagamento.OrdinePagamento" table="OrdinePagamento">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idOrdinePagamento" unique="true"/>
<property name="idApplicazione"/>
<property name="idOrganizzazione"/>
<property name="idServizioPagamento"/>
<property name="idVenditore"/>
<property name="idOrdine"/>
<property name="importoOrdine"/>
<property name="importoValuta"/>
<property name="importoOrdinePagamento"/>
<property name="esitoTransazione"/>
<property name="codiceAutorizzazione"/>
<property name="idOrdineBanca"/>
<property name="codiceErrore"/>
<property name="descrizioneErrore"/>
<property name="dataRichiesta"/>
<property name="dataRisposta"/>
<property name="urlAutorizzazioneConcessa"/>
<property name="urlAutorizzazioneRifiutata"/>
<property name="stato"/>
<property name="metodoRisposta"/>
<property name="modalita"/>
<!-- Esiti associati -->
<set name="collezioneEsiti" table="OrdinePagamentoEsito" cascade="all-delete-orphan" inverse="true">
<key column="esito_id"/>
<one-to-many class="it.tno.pagamento.ordinePagamento.OrdinePagamentoEsito"/>
</set>
<!-- Mail di Risposta associate -->
<set name="collezioneMailRisposta" table="MailRisposta" cascade="all-delete-orphan" inverse="true">
<key column="ordinePagamento_id"/>
<one-to-many class="it.tno.pagamento.ordinePagamento.MailRisposta"/>
</set>
</class>
<!--
=============================================================================================
OrdinePagamentoEsito
=============================================================================================
-->
<!--
OrdinePagamentoEsito: Istanza non localizzata
-->
<class name="it.tno.pagamento.ordinePagamento.OrdinePagamentoEsito" table="OrdinePagamentoEsito">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idOrdinePagamento"/>
<property name="idCanaleDiRicezione"/>
<property name="data"/>
<property name="info">
</property>
<!-- Associazione verso OrdinePagamento -->
<many-to-one name="ordinePagamento" column="esito_id" class="it.tno.pagamento.ordinePagamento.OrdinePagamento"/>
</class>
<!--
=============================================================================================
OrdinePagamentoEsito
=============================================================================================
-->
<!--
OrdinePagamentoEsito: Istanza non localizzata
-->
<class name="it.tno.pagamento.ordinePagamento.MailRisposta" table="MailRisposta">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="tipoMessaggio"/>
<property name="dataRisposta"/>
<property name="dataTransazione"/>
<property name="idServizioPagamento"/>
<property name="idVenditore"/>
<property name="idOrdinePagamento"/>
<property name="importoOrdinePagamentoEuro"/>
<property name="codiceAutorizzazione"/>
<!-- Associazione verso OrdinePagamento -->
<many-to-one name="ordinePagamento" column="ordinePagamento_id" class="it.tno.pagamento.ordinePagamento.OrdinePagamento"/>
</class>
</hibernate-mapping>



Mapping document of the destination database:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping auto-import="false">
<!--
=============================================================================================
ConfigurazionePagamento
=============================================================================================
-->
<!--
ConfigurazionePagamento: Istanza non localizzata
-->
<class name="it.tno.pagamento.configurazione.ConfigurazionePagamento" table="Configurazione">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idConfigurazione" unique="true"/>
<property name="hostMailServer"/>
<property name="tipoMailServer"/>
<property name="versioneStrutturaDataBase"/>
<property name="primoIdOrdinePagamento"/>
<property name="pathContextRoot"/>
<property name="tempoDiAttesaElaborazioneRisposteViaEMail"/>
</class>
<!--
=============================================================================================
ServizioPagamento
=============================================================================================
-->
<!--
ServizioPagamento: Istanza non localizzata
-->
<class name="it.tno.pagamento.servizioPagamento.ServizioPagamento" table="ServizioPagamento">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idServizioPagamento" unique="true"/>
<property name="servizioPagamento"/>
<property name="fornitore"/>
<property name="supportoTerminalID"/>
<property name="supportoOTP"/>
<property name="lunghezzaOTP"/>
<property name="stato"/>
<property name="url"/>
</class>
<!--
=============================================================================================
Applicazione
=============================================================================================
-->
<!--
Applicazione: Istanza non localizzata
-->
<class name="it.tno.pagamento.applicazione.Applicazione" table="Applicazione">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idApplicazione" unique="true"/>
<property name="chiaveHash"/>
<property name="stato"/>
<!-- Opzione all-delete-orphan utile per forzare cancellazione di oggetti figli (bar) non piu' utili -->
<!--
<set name="collezioneI18N" table="FAQI18N" cascade="all-delete-orphan" inverse="true">
<key column="entita_id"/>
<one-to-many class="it.tno.faq.engine.FAQI18N"/>
</set>
-->
<!-- Sezioni associate -->
<!--
<set name="sezioni" table="Sezione" cascade="all-delete-orphan" inverse="true">
<key column="faq_id"/>
<one-to-many class="it.tno.faq.engine.Sezione"/>
</set>
-->
</class>
<!--
=============================================================================================
Venditore
=============================================================================================
-->
<!--
Venditore: Istanza non localizzata
-->
<class name="it.tno.pagamento.venditore.Venditore" table="Venditore">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idApplicazione" column="idApplicazione"/>
<property name="idOrganizzazione" column="idOrganizzazione"/>
<property name="chiaveUnivoca" column="chiaveUnivoca" unique="true"/>
<property name="idServizioPagamento"/>
<property name="idVenditore"/>
<property name="terminalId" type="int"/>
<property name="stato"/>
<property name="logo"/>
<property name="emailOKUsername"/>
<property name="emailOKPassword"/>
<property name="emailKOUsername"/>
<property name="emailKOPassword"/>
<!-- Associazione verso Applicazione -->
<many-to-one name="applicazione" column="applicazione_id" class="it.tno.pagamento.applicazione.Applicazione"/>
</class>
<!--
=============================================================================================
OneTimePassword
=============================================================================================
-->
<!--
OneTimePassword: Istanza non localizzata
-->
<class name="it.tno.pagamento.otp.OneTimePassword" table="OneTimePassword">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idApplicazione" column="idApplicazione"/>
<property name="idOrganizzazione" column="idOrganizzazione"/>
<property name="chiaveUnivoca" column="chiaveUnivoca" unique="true"/>
<property name="flusso"/>
<property name="password"/>
<!-- Associazione verso Venditore -->
<many-to-one name="venditore" column="venditore_id" class="it.tno.pagamento.venditore.Venditore" />
</class>
<!--
=============================================================================================
OrdinePagamento
=============================================================================================
-->
<!--
OrdinePagamento: Istanza non localizzata
-->
<class name="it.tno.pagamento.ordinePagamento.OrdinePagamento" table="OrdinePagamento">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idOrdinePagamento" unique="true"/>
<property name="idApplicazione"/>
<property name="idOrganizzazione"/>
<property name="idServizioPagamento"/>
<property name="idVenditore"/>
<property name="idOrdine"/>
<property name="importoOrdine"/>
<property name="importoValuta"/>
<property name="importoOrdinePagamento"/>
<property name="esitoTransazione"/>
<property name="codiceAutorizzazione"/>
<property name="idOrdineBanca"/>
<property name="codiceErrore"/>
<property name="descrizioneErrore"/>
<property name="dataRichiesta"/>
<property name="dataRisposta"/>
<property name="urlAutorizzazioneConcessa"/>
<property name="urlAutorizzazioneRifiutata"/>
<property name="stato"/>
<property name="metodoRisposta"/>
<property name="modalita"/>
<!-- Esiti associati -->
<set name="collezioneEsiti" table="OrdinePagamentoEsito" cascade="all-delete-orphan" inverse="true">
<key column="esito_id"/>
<one-to-many class="it.tno.pagamento.ordinePagamento.OrdinePagamentoEsito"/>
</set>
<!-- Mail di Risposta associate -->
<set name="collezioneMailRisposta" table="MailRisposta" cascade="all-delete-orphan" inverse="true">
<key column="ordinePagamento_id"/>
<one-to-many class="it.tno.pagamento.ordinePagamento.MailRisposta"/>
</set>
</class>
<!--
=============================================================================================
OrdinePagamentoEsito
=============================================================================================
-->
<!--
OrdinePagamentoEsito: Istanza non localizzata
-->
<class name="it.tno.pagamento.ordinePagamento.OrdinePagamentoEsito" table="OrdinePagamentoEsito">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="idOrdinePagamento"/>
<property name="idCanaleDiRicezione"/>
<property name="data"/>
<property name="info">
</property>
<!-- Associazione verso OrdinePagamento -->
<many-to-one name="ordinePagamento" column="esito_id" class="it.tno.pagamento.ordinePagamento.OrdinePagamento"/>
</class>
<!--
=============================================================================================
OrdinePagamentoEsito
=============================================================================================
-->
<!--
OrdinePagamentoEsito: Istanza non localizzata
-->
<class name="it.tno.pagamento.ordinePagamento.MailRisposta" table="MailRisposta">
<id name="id" column="id" type="int" unsaved-value="0">
<generator class="native"/>
</id>
<property name="tipoMessaggio"/>
<property name="dataRisposta"/>
<property name="dataTransazione"/>
<property name="idServizioPagamento"/>
<property name="idVenditore"/>
<property name="idOrdinePagamento"/>
<property name="importoOrdinePagamentoEuro"/>
<property name="codiceAutorizzazione"/>
<!-- Associazione verso OrdinePagamento -->
<many-to-one name="ordinePagamento" column="ordinePagamento_id" class="it.tno.pagamento.ordinePagamento.OrdinePagamento"/>
</class>
</hibernate-mapping>


Code between sessionFactory.openSession() and session.close():
public synchronized static void copy(Class classe, Session fromSession, Session toSession)
throws PersistentLayerException,
PersistentObjectHasRelationshipException,
PersistentObjectDuplicatedException,
NoSuchMethodException,
IllegalAccessException,
InvocationTargetException,
java.lang.InstantiationException
{
List list = null;
Object classeObj = classe.newInstance();


// ************************************************************************
// Lettura istanze
// ************************************************************************
Class[] parametersType = {};
Object[] args = {};
try
{
// Creazione oggetto per metodo da invocare
Method metodoFindAll = classe.getMethod("findAll", parametersType);

// Invocazione metodo su oggetto della classe individuata
list = (List) metodoFindAll.invoke(classeObj, args);

// Cancellazione di tutte le istanze esistenti
// APersistentLayer.deleteAll(toSession, classe);
// toSession.flush();
}
catch (NoSuchMethodException exc)
{
throw exc;
}
catch (IllegalAccessException exc)
{
throw exc;
}
catch (InvocationTargetException exc)
{
throw exc;
}


Iterator iter = list.iterator();
while (iter.hasNext())
{
Object istanza = iter.next();

// Id of the instance from the soure data store (fromId) and from the destination
// data source (toId)
int fromId = -1;
int toId = -1;
// if (log.isDebugEnabled())
{
try
{
// Retrieve id
parametersType = new Class[] {Object.class};
args = new Object[] {istanza};
Method method = classe.getMethod("getId", parametersType);
fromId = ( (Integer) method.invoke(classeObj, args)).intValue();
}
catch (NoSuchMethodException exc)
{
// Metodo non implementato - pazienza non si può eseguire debug
;
}
catch (IllegalAccessException exc)
{
throw exc;
}
catch (InvocationTargetException exc)
{
throw exc;
}
}

try
{
toSession.replicate(istanza, ReplicationMode.OVERWRITE);
}
catch (HibernateException ex)
{
throw new PersistentLayerException(ex);
}


// if (log.isDebugEnabled())
{
try
{
// Retrieve id
parametersType = new Class[] {Object.class};
args = new Object[] {istanza};
Method method = classe.getMethod("getId", parametersType);
toId = ( (Integer) method.invoke(classeObj, args)).intValue();
}
catch (NoSuchMethodException exc)
{
// Metodo non implementato - pazienza non si può eseguire debug
;
}
catch (IllegalAccessException exc)
{
throw exc;
}
catch (InvocationTargetException exc)
{
throw exc;
}


if (toId == fromId)
{
System.out.println("*******************************************************");
System.out.println(classe.getName() + " - Instance replicated with same ID : toId=" + toId + " (fromId=" + fromId + ") <============= !!!!!!!!!!!!!!!");
System.out.println("*******************************************************");
}
else
{
System.out.println("*******************************************************");
System.out.println(classe.getName() + " - Instance replicated with new ID :toId=" + toId + " (fromId=" + fromId + ") <============= ???????????????????");
System.out.println("*******************************************************");
}
}
}
}





My test method:
public static void main(String[] args) throws Exception
{
Session session = null;

Session toSession = null;


Transaction toTx= null;

String nomeFileConfigurazioneOutput = "hibernate.copia.native.cfg.xml";
try
{
HibernateManager.schemaUpdate(nomeFileConfigurazioneOutput);

session = HibernateManager.currentSession();
toSession = HibernateManager.currentSession(nomeFileConfigurazioneOutput);

toTx = toSession.beginTransaction();
}
catch (HibernateException ecc)
{
throw new PersistentLayerException(ecc);
}

try
{


try
{
toTx = toSession.beginTransaction();

APersistentLayer.copy(ConfigurazioneDAO.class, session, toSession);
APersistentLayer.copy(ApplicazioneDAO.class, session, toSession);
APersistentLayer.copy(ServizioPagamentoDAO.class, session, toSession);

toSession.flush();
toTx.commit();
toTx = toSession.beginTransaction();

APersistentLayer.copy(VenditoreDAO.class, session, toSession);

toSession.flush();
toTx.commit();
toTx = toSession.beginTransaction();

APersistentLayer.copy(OneTimePasswordDAO.class, session, toSession);

toSession.flush();
toTx.commit();
toTx = toSession.beginTransaction();

APersistentLayer.copy(OrdinePagamentoDAO.class, session, toSession);

toTx.commit();
}
catch (HibernateException ecc)
{
throw new PersistentLayerException(ecc);
}
catch (PersistentLayerException ex)
{
throw new RuntimeException(ex);
}
finally
{
try
{
if (!toTx.wasCommitted())
{
toTx.rollback();
}
}
catch (HibernateException ex1)
{
throw new RuntimeException(ex1);
}

}
}

Full stack trace of any exception that occurs:
Hibernate: select ordinepaga0_.id as id, ordinepaga0_.idOrdinePagamento as idOrdine2_, ordinepaga0_.idApplicazione as idApplic3_, ordinepaga0_.idOrganizzazione as idOrgani4_, ordinepaga0_.idServizioPagamento as idServiz5_, ordinepaga0_.idVenditore as idVendit6_, ordinepaga0_.idOrdine as idOrdine, ordinepaga0_.importoOrdine as importoO8_, ordinepaga0_.importoValuta as importoV9_, ordinepaga0_.importoOrdinePagamento as importo10_, ordinepaga0_.esitoTransazione as esitoTr11_, ordinepaga0_.codiceAutorizzazione as codiceA12_, ordinepaga0_.idOrdineBanca as idOrdin13_, ordinepaga0_.codiceErrore as codiceE14_, ordinepaga0_.descrizioneErrore as descriz15_, ordinepaga0_.dataRichiesta as dataRic16_, ordinepaga0_.dataRisposta as dataRis17_, ordinepaga0_.urlAutorizzazioneConcessa as urlAuto18_, ordinepaga0_.urlAutorizzazioneRifiutata as urlAuto19_, ordinepaga0_.stato as stato, ordinepaga0_.metodoRisposta as metodoR21_, ordinepaga0_.modalita as modalita from OrdinePagamento ordinepaga0_

numero istance cancellate 0<==============

Hibernate: select configuraz0_.id as id, configuraz0_.idConfigurazione as idConfig2_, configuraz0_.hostMailServer as hostMail3_, configuraz0_.tipoMailServer as tipoMail4_, configuraz0_.versioneStrutturaDataBase as versione5_, configuraz0_.primoIdOrdinePagamento as primoIdO6_, configuraz0_.pathContextRoot as pathCont7_, configuraz0_.tempoDiAttesaElaborazioneRisposteViaEMail as tempoDiA8_ from Configurazione configuraz0_ order by configuraz0_.idConfigurazione

Hibernate: select id from Configurazione where id =?

Hibernate: insert into Configurazione (idConfigurazione, hostMailServer, tipoMailServer, versioneStrutturaDataBase, primoIdOrdinePagamento, pathContextRoot, tempoDiAttesaElaborazioneRisposteViaEMail) values (?, ?, ?, ?, ?, ?, ?)

*******************************************************

it.tno.pagamento.configurazione.ConfigurazioneDAO - Instance replicated with new ID :toId=1 (fromId=203) <============= ???????????????????

*******************************************************

Hibernate: select applicazio0_.id as id, applicazio0_.idApplicazione as idApplic2_, applicazio0_.chiaveHash as chiaveHash, applicazio0_.stato as stato from Applicazione applicazio0_ order by applicazio0_.idApplicazione

Hibernate: select id from Applicazione where id =?

Hibernate: insert into Applicazione (idApplicazione, chiaveHash, stato) values (?, ?, ?)

*******************************************************

it.tno.pagamento.applicazione.ApplicazioneDAO - Instance replicated with new ID :toId=1 (fromId=102) <============= ???????????????????

*******************************************************

Hibernate: select serviziopa0_.id as id, serviziopa0_.idServizioPagamento as idServiz2_, serviziopa0_.servizioPagamento as servizio3_, serviziopa0_.fornitore as fornitore, serviziopa0_.supportoTerminalID as supporto5_, serviziopa0_.supportoOTP as supporto6_, serviziopa0_.lunghezzaOTP as lunghezz7_, serviziopa0_.stato as stato, serviziopa0_.url as url from ServizioPagamento serviziopa0_ order by serviziopa0_.idServizioPagamento

Hibernate: select id from ServizioPagamento where id =?

Hibernate: insert into ServizioPagamento (idServizioPagamento, servizioPagamento, fornitore, supportoTerminalID, supportoOTP, lunghezzaOTP, stato, url) values (?, ?, ?, ?, ?, ?, ?, ?)

*******************************************************

it.tno.pagamento.servizioPagamento.ServizioPagamentoDAO - Instance replicated with new ID :toId=1 (fromId=203) <============= ???????????????????

*******************************************************

Hibernate: select id from ServizioPagamento where id =?

Hibernate: insert into ServizioPagamento (idServizioPagamento, servizioPagamento, fornitore, supportoTerminalID, supportoOTP, lunghezzaOTP, stato, url) values (?, ?, ?, ?, ?, ?, ?, ?)

*******************************************************

it.tno.pagamento.servizioPagamento.ServizioPagamentoDAO - Instance replicated with new ID :toId=2 (fromId=204) <============= ???????????????????

*******************************************************

Hibernate: select venditore0_.id as id, venditore0_.idApplicazione as idApplic2_, venditore0_.idOrganizzazione as idOrgani3_, venditore0_.chiaveUnivoca as chiaveUn4_, venditore0_.idServizioPagamento as idServiz5_, venditore0_.idVenditore as idVendit6_, venditore0_.terminalId as terminalId, venditore0_.stato as stato, venditore0_.logo as logo, venditore0_.emailOKUsername as emailOK10_, venditore0_.emailOKPassword as emailOK11_, venditore0_.emailKOUsername as emailKO12_, venditore0_.emailKOPassword as emailKO13_, venditore0_.applicazione_id as applica14_ from Venditore venditore0_ order by venditore0_.idApplicazione , venditore0_.idOrganizzazione

Hibernate: select id from Venditore where id =?

Hibernate: insert into Venditore (idApplicazione, idOrganizzazione, chiaveUnivoca, idServizioPagamento, idVenditore, terminalId, stato, logo, emailOKUsername, emailOKPassword, emailKOUsername, emailKOPassword, applicazione_id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

*******************************************************

it.tno.pagamento.venditore.VenditoreDAO - Instance replicated with new ID :toId=1 (fromId=2) <============= ???????????????????

*******************************************************

Hibernate: select onetimepas0_.id as id, onetimepas0_.idApplicazione as idApplic2_, onetimepas0_.idOrganizzazione as idOrgani3_, onetimepas0_.chiaveUnivoca as chiaveUn4_, onetimepas0_.flusso as flusso, onetimepas0_.password as password, onetimepas0_.venditore_id as venditor7_ from OneTimePassword onetimepas0_ order by onetimepas0_.idApplicazione , onetimepas0_.idOrganizzazione

Hibernate: select venditore0_.id as id1_, venditore0_.idApplicazione as idApplic2_1_, venditore0_.idOrganizzazione as idOrgani3_1_, venditore0_.chiaveUnivoca as chiaveUn4_1_, venditore0_.idServizioPagamento as idServiz5_1_, venditore0_.idVenditore as idVendit6_1_, venditore0_.terminalId as terminalId1_, venditore0_.stato as stato1_, venditore0_.logo as logo1_, venditore0_.emailOKUsername as emailOK10_1_, venditore0_.emailOKPassword as emailOK11_1_, venditore0_.emailKOUsername as emailKO12_1_, venditore0_.emailKOPassword as emailKO13_1_, venditore0_.applicazione_id as applica14_1_, applicazio1_.id as id0_, applicazio1_.idApplicazione as idApplic2_0_, applicazio1_.chiaveHash as chiaveHash0_, applicazio1_.stato as stato0_ from Venditore venditore0_ left outer join Applicazione applicazio1_ on venditore0_.applicazione_id=applicazio1_.id where venditore0_.id=?

Hibernate: select id from OneTimePassword where id =?

Hibernate: insert into OneTimePassword (idApplicazione, idOrganizzazione, chiaveUnivoca, flusso, password, venditore_id) values (?, ?, ?, ?, ?, ?)

10796 [main] WARN util.JDBCExceptionReporter - SQL Error: 547, SQLState: 23000

10796 [main] ERROR util.JDBCExceptionReporter - L'istruzione INSERT ha generato un conflitto con il vincolo COLUMN FOREIGN KEY 'FK4874A5EE83F4B828' nel database 'Pagamento_Hibernate_Copia_Native', tabella 'Venditore', column 'id'.

Hit uncaught exception java.lang.RuntimeException

Name and version of the database you are using:Microsoft SQL Server 2000

The generated SQL (show_sql=true):

Debug level Hibernate log excerpt:




Hi all,

I have 2 questions about copying all the instances from a data base to another one.

Question #1: Copying instances with native strategy
When I copy an instance with id based on native strategy, the new instance on the target database has a different id. For example, if you see the lines generated by the APersistenceLayer.copy method I get the following message:
it.tno.pagamento.venditore.VenditoreDAO - Instance replicated with new ID :toId=1 (fromId=2) <============= ???????????????????

Then when I copy another instance (ie, an istance of the OneTimePassword) which has an association with the previous one I get a CONFLICT with COLUMN FOREIGN KEY constraint:

10796 [main] WARN util.JDBCExceptionReporter - SQL Error: 547, SQLState: 23000
10796 [main] ERROR util.JDBCExceptionReporter - L'istruzione INSERT ha generato un conflitto con il vincolo COLUMN FOREIGN KEY 'FK4874A5EE83F4B828' nel database 'Pagamento_Hibernate_Copia_Native', tabella 'Venditore', column 'id'.
Hit uncaught exception java.lang.RuntimeException


I know that a lot of you copy data base without problem, so quite surely I’m wronging something.



Question #2: Copying instances with hilo strategy
If I have to copy an instance with id based on hilo strategy, shoud I copy the hilo table too? Any advice about a best practice?

Thank you in advance.
Pasquale D’Erasmo


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.