Inserir objeto no Hibernate

7 respostas
tads

Olá,

Tenho uma dúvida quanto a inserção de dados usando hibernate.

Vamos supor que eu tenha as classes:

Class Department
{
   private Integer idDepartment;
   private String name;

   // getters e setters
}

Class User
{
   private String idUser;
   private String name;
   private Department department;

  // getters e setters
   
}

então, vamos supor q eu já tenha os departamentos cadastrados
no DB. então, como eu usaria o método save(objeto) para inserir
um usuário mas já existindo um departamento ???

obrigado,

7 Respostas

lcmetzger

Antes de salvar, vc teria que atribuir o departamento ao qual o usuário pertence.

tads

E ai, blz?

Deixa eu ver se eu entendi, seria assim:

User user = new User;
Department dep = new Department();

dep.setIdDepartment(new Integer(1));
user.setIdUser(new Integer(100));
user.setName("Zezinho");
user.setDepartment(dep);

sess.save(user);

desta maneira ele buscaria se o departamento existe???

Valew!!!

dukejeffrie

Isso serve quando vc nao tem auto-increments… mas vc tem que salvar o departamento de qq jeito com session.save(dep)

com autoincrements, vc pode fazer:

Department dep = new Department();

dep.setName(theName);
session.save(dep);

User user = new User;
user.setName("Zezinho");
user.setDepartment(dep);

sess.save(user);

[]s!!

tads

Então, isso eu entendi.

Mas eu gostaria de saber como fazer se o Departament já existe no
banco de dados e eu quero inserir um User num Department já existente.

falow,

obrigado,

Abraço

cv1

Simplificando:

  • Busque o departamento (Session.find())
  • User.setDepartamento()
  • User.set*
  • Session.save(user);
lcmetzger

Não é bem assim…

Voce deve ter um Department carregado (load) para atribuir em setDepartment da classe User, é algo mais ou menos assim:

User user = new User;
Department dep = new Department();
dep = depVO.load(1);

user.setIdUser(new Integer(100));
user.setName("Zezinho");
user.setDepartment(dep);

userVO.save(user);

Se vc verificar os exemplos do hibernate, fica facil de entender…

tads

Talvez eu não tenha olhado direito na documentação do hibernate. :oops:
Estava procurando exemplos nestes docs, mas não achei algo do tipo.

Vou esmiuçar este doc para verificar os exemplos que vc me falou.

Valew!!!

Grande abraço,

Criado 15 de outubro de 2003
Ultima resposta 15 de out. de 2003
Respostas 7
Participantes 4