Hi people!
I have this class :
package br.com.leiarock.mapeamento;
********************************
import org.objectstyle.cayenne.access.DataContext;
//import br.com.leiarock.mapeamento.Generos;
public class Bandas extends br.com.leiarock.mapeamento.auto._Bandas {
/**
*
*..aram con
*..aram banda
*..eturn
* Método para efetuar a gravação de uma determinada banda.
* É retornado um booleano sendo ele VERDADEIRO(true) quando a
* gravação ocorrer com sucesso e FALSO(false) quando houver algum
* problema.
*/
public boolean gravarBanda(DataContext con, Bandas banda){
try{
if(validaDados(banda) == false) return false; //Verifica se os campos
obrigatórios estão preenchidos.
System.out.println("Setou generos");
con.registerNewObject(banda); //Reserva espaco para novo registro no banco.
System.out.println("gerou novo objeto");
con.commitChanges(); // Confirma operação de gravação.
System.out.println("commitou");
return true;
}
catch(Exception e){
System.out.println(e.toString());
con.rollbackChanges(); // Ignora as informações devido ao erro.
return false;
}
}
/**
*
*..aram con
*..aram banda
*..eturn
* Método para efetuar a alteração de uma banda.
* É retornado um booleano sendo ele VERDADEIRO(true) quando a
* gravação ocorrer com sucesso e FALSO(false) quando houver algum
* problema.
*/
public boolean alterarBanda(DataContext con, Bandas banda){
try{
con.commitChanges(); // Confirma operação de gravação.
return true;
}
catch(Exception e){
con.rollbackChanges(); // Ignora as informações devido ao erro.
return false;
}
}
/**
*
*..aram con
*..aram banda
*..eturn
* Método para efetuar a exclusão de uma banda.
* É retornado um booleano sendo ele VERDADEIRO(true) quando a
* gravação ocorrer com sucesso e FALSO(false) quando houver algum
* problema.
*/
public boolean excluiBanda(DataContext con, Bandas banda){
try{
con.deleteObject(banda); //Marca o objeto como excluido.
con.commitChanges(); // Confirma operação de gravação.
return true;
}
catch(Exception e){
con.rollbackChanges(); // Ignora as informações devido ao erro.
return false;
}
}
/**
*
*..aram banda
*..eturn
* Método para validar o preenchimento dos dados da classe.
* É retornado um booleano sendo ele VERDADEIRO(true) quando a
* gravação ocorrer com sucesso e FALSO(false) quando houver algum
* problema.
*/
private boolean validaDados(Bandas banda){
if(
banda.getNome().toString().length() > 0
&&
banda.getToGeneros() != null){
return true;
}
else{
return false;
}
}
}
*****************************************
And i insert a register using a method gravarBanda(DataContext con, Bandas
banda) to register a class, but generate this exception :
***
Error : org.objectstyle.cayenne.CayenneRuntimeException: [v.1.1M7_1 June 15
2004] Cannot set object as destination of relationship toGeneros because it
is in a different DataContext
***
This a code for insert a register :
*****************************************
DataContext con = DataContext.createDataContext(); //generate Datacontext
try{
ConsultaGeneros consulta = new ConsultaGeneros(); //Generate a new Search
// - Consulta = Search
List l = consulta.buscarDescricao(con, "Punk"); //Generate a Find.
if(l.size()>0){
Generos ge = (Generos) l.get(0);
System.out.println("Achou Genero:" + ge.getDescricao());
Bandas b = new Bandas();
b.setToGeneros(ge); //Set a relational Genero from Bandas
// Banda = Band
b.setNome("Cólera"); //Set a name from Band
if(b.gravarBanda(con, b)){
System.out.println("Gravou");
}
else{
System.out.println("Deu erro");
}
}
**************************************
Tks for all
Reinaldo.
This archive was generated by hypermail 2.0.0 : Thu Aug 12 2004 - 10:04:43 EDT