Não persistir atributos da classe pai (herança)
10/08/2015 10:53
Olá pessoal, tudo bem?
Eu tenho uma classe chamada Pessoa. Esta classe é alimentada quando consumo um método rest. Isso funciona perfeito!
Esta classe fica na pasta sources\groovy já que a intenção não é duplicar as informações da Pessoa que fica em outro banco de dados.
Eu também possuo uma classe chamada Paciente. Esta classe seria uma herança da classe Pessoa, ou seja, ela foi criada em Domain Class. Tudo funciona bem, até não ser persistido, porém, ao salvar, dá o seguinte erro: "Cannot redirect for object [br.ufscar.deamo.Paciente : (unsaved)] it is not a domain or has no identifier. Use an explicit redirect instead . Stacktrace follows: Message: Cannot redirect for object [br.ufscar.deamo.Paciente : (unsaved)] it is not a domain or has no identifier. Use an explicit redirect instead".
[list][/list]
import org.grails.databinding.BindingFormat
abstract class Pessoa {
String nome;
String nomeSocial;
String cpf;
@BindingFormat('dd/MM/yyyy')
Date dataNascimento;
String sexo;
String estadoCivil;
String raca;
String etnia;
String nacionalidade;
String naturalidade;
String tipoSanguineo;
String emailPrincipal;
String emailAlternativo;
byte[] foto;
Integer idade;
String funcao;
Boolean vinculo;
static hasMany=['endereco':Endereco, 'necessidadeEspecial':NecessidadeEspecial,'telefone':Telefone,'filiacao':Filiacao ]
static constraints = {
}
}
[list][/list]
import org.grails.databinding.BindingFormat
class Paciente extends Pessoa implements Serializable{
String numeroSus;
@BindingFormat('dd/MM/yyyy')
Date dataObito;
Integer numeroFilhos;
Integer tempoUniao;
String observacao;
static hasMany = ['bolsa':Bolsa]
static constraints = {
dataObito(nullable: true);
numeroSus(maxSize: 15,blank: false);
numeroFilhos(nullable: true);
tempoUniao(nullable: true);
observacao(nullable: true,maxSize: 1000,blank: false)
bolsa(nullable: true);
}
static transients = ['nome', 'nomeSocial', 'dataNascimento', 'sexo', 'estadoCivil', 'raca', 'etnia', 'nacionalidade', 'naturalidade', 'tipoSanguineo', 'emailPrincipal', 'emailAlternativo', 'foto', 'idade', 'funcao', 'vinculo', 'endereco', 'necessidadeEspecial', 'telefone', 'filiacao'];
static mapping = {
id name: "cpf", generator: "assigned"
};
}
Como eu faço para resolver isso?
Tags:
Domain, Groovy Class, Herança