Criteria e Hibernate

6 respostas
nefertiti

Olá a todos!

Tenho o sehuinte trecho de código:

List animal = session.createCriteria(Animal.class).setFetchMode("finalidade",FetchMode.EAGER).list()
public Object getValueAt(int rowIndex, int columnIndex){
		Animal animal = (Animal) linhas.get(rowIndex);
		Finalidade finalidade = (Finalidade)linhas.get(rowIndex);
		
		switch(columnIndex) {
			case 0: return animal.getNumInterno();
			case 1: return animal.getNumExterno();
			case 2: return animal.getSexo();
			case 3: return animal.getDataNascimento();
			case 4: return animal.getEspecie();
			case 5: return animal.getFinalidade();
			case 6: return animal.getNomeMae();
			case 7: return animal.getNomePai();
			case 8: return animal.getProprietario();
			case 9: return animal.getRaca();
			case 10: return animal.getTipo();
		        case 11: return finalidade.getDoadorEmbriao();
			
		}
		return null;
		 
	 }

Quero fazer com que os campos da classe finalidade sejam mostrados em uma Jtable também. Acontece que quando utilizo somente a classe animal não dá problemas, mas quando utilizo as duas classes ele retorna o erro: " Animal cannot cast to Finalidade"...alguém pode me ajudar?

Até mais

Patty

6 Respostas

fabiofalci

Mas o que tem na lista

linhas.get(rowIndex)

?

Animal ou Finalidade?

fabiofalci

Pode ter as duas classes neh?

Entao tu vai ter que fazer um instanceof antes para descobrir o tipo que retorna em

linhas.get(rowIndex)
_fs

Um Animal possui um objeto Finalidade. Isso?

nefertiti

isso

Luiz_Gustavo

se seu objeto Animal possui uma referência a um objeto Finalidade, faça o seguinte:

public Object getValueAt(int rowIndex, int columnIndex){
 		Animal animal = (Animal) linhas.get(rowIndex);
 		
 		switch(columnIndex) {
 			case 0: return animal.getNumInterno();
 			case 1: return animal.getNumExterno();
 			case 2: return animal.getSexo();
 			case 3: return animal.getDataNascimento();
 			case 4: return animal.getEspecie();
 			case 5: return animal.getFinalidade();
 			case 6: return animal.getNomeMae();
 			case 7: return animal.getNomePai();
 			case 8: return animal.getProprietario();
 			case 9: return animal.getRaca();
 			case 10: return animal.getTipo();
 		        case 11: return animal.getFinalidade.getDoadorEmbriao();
 			
 		}
 		return null;
 		 
 	 }
nefertiti

Obrigada Luiz Gustavo…funcionou…obrigada a todos!!!

Até mais

Patty

Criado 28 de junho de 2006
Ultima resposta 28 de jun. de 2006
Respostas 6
Participantes 4