Ajuda com metodo salvar.. 1 ou varios?

galera
eh o seguinte…
eu to programando em hibernate, spring, e jsf…
eu to usando a arquitetura

Perssistencia
Bean
Facade
Dao

eu tenho uma tabela

CREATE TABLE SERVIDOR  (
   ID_SERVIDOR          NUMBER(10)                      NOT NULL,
   NM_SERVIDOR          VARCHAR2(150)                   NOT NULL,
   DT_NASCIMENTO        DATE                            NOT NULL,
 
CONSTRAINT PK_SERVIDOR PRIMARY KEY (ID_SERVIDOR)

pra essa tabela eu tenho minha classe de perssistencia…

@Entity 
@Table(name="SERVIDOR")
public class Servidor {
	
	@Id
	@Column(name = "ID_SERVIDOR", nullable = false)
	@GeneratedValue(strategy=GenerationType.TABLE)
	private Long ID_SERVIDOR;
	
	@Column(name="NM_SERVIDOR")
	private String nomeServidor;
	
	@Column(name="DT_NASCIMENTO")
	private Date dataNascimentoServidor;

gets//sets

tenho outra tabela q faz parte do cadastro do servidor…

CREATE TABLE ENDERECO_SERVIDOR  (
   ID_SERVIDOR          NUMBER(10)                      NOT NULL,
   DATA_CADASTRO        DATE                            NOT NULL,
   DS_LOGRADOURO        VARCHAR2(100)                   NOT NULL,
   DS_COMPLEMENTO       VARCHAR2(50),

   CONSTRAINT PK_ENDERECO_SERVIDOR PRIMARY KEY (ID_SERVIDOR, DATA_CADASTRO)
);

e tenho minha outra classe de perssistencia pra essa tabela…
do mesmo jeito da outra…

minha pergutna eh
na hora de salvar
eu tenho que criar um metodo salvar pra cada classe de perssistencia?
se eu tiver dados de um servidor dividido em 10 tabelas… eu vo te que fazer 10 metodo salvar?

public void createServidor(Servidor servidor) { getHibernateTemplate().save(servidor); }

public void createEndServidor(EnderecoServidor endServidor) { getHibernateTemplate().save(endServidor); }

?
nao tem como eu fazer somente um metodo?
help

Opa Deluxe.

Tem sim meu caro, você pode utilizar Generics e uma herança.

Exemplo:

Crie uma classe com esses métodos super genéricos do Hibernate (salvar, atualizar, deletar…):

[code]abstract class GenericHibernateDAO {
public GenericHibernateDAO() {

}
public void create(T obj) {
	getHibernateTemplate().save(obj);
}

}[/code]

E depois herde a classe expecificando o “tipo de Classe a ser utilizado”:

public class ServidorDAO extends GenericHibernateDAO<Servidor> { }

public class EndServidorDAO extends GenericHibernateDAO<EnderecoServidor> { }

Manjo?

Falows

pera ai…
minhas classes de perssistencia tem que extender a algo?

[code]
abstract class GenericHibernateDAO {
public GenericHibernateDAO() {

    }  
    public void create(T obj) {  
        getHibernateTemplate().save(obj);  
   }  
}  [/code]

esse eh meu dao?

Issu, eles extedem uma classe genérica (no meu exemplo seria a GenericHibernateDAO), e essa sim terá justamente os métodos genéricos entre eles.