Ola pessoal.
Tenho Duas Tabelas us_Usuarios e a us_Grupo, onde a minha intencao e armazenar os Dados do Usuario e a qual Grupo de Usuario Pertence, ate ai tudo bem, mais no momento em que chamo o salvamento via Hibernate ele esta salvando perfeitamente na tabela de us_Usuarios mais na Tabela de us_Grupo ele duplica os dados, Tipo, suponhamos que eu ja tenha um grupo de Usuario do Tipo Administrador, se eu executar o Salvamento ele vai criar um novo Grupo do Tipo Administrador, como fazer para ele saber que este determinado Grupo ja existe e salvar somente o Codigo do mesmo.
Classe de Usuario:
public class us_Usuario
{
@Id
@SequenceGenerator(name="generator_us_usuario",sequenceName="sequence_us_usuario")
@GeneratedValue(generator="generator_us_usuario")
private long usu_codigo;
@Column(name ="usu_login", length = 30)
private String usu_login;
@Column(name="usu_senha", length = 25)
private String usu_senha;
@OneToOne
@Cascade(CascadeType.ALL)
@JoinColumn( name = "cod_grupo_usuario")
private us_Grupo grupo;
Classe de Grupo de Usuario:
public class us_Grupo
{
@Id
@SequenceGenerator(name="generator_us_grupo",sequenceName="sequence_us_grupo")
@GeneratedValue(generator="generator_us_grupo")
private long gru_codigo;
@Column(name ="gru_descricao", length=30)
private String gru_descricao;
public void Salvando()
{
try
{
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass (us_Usuario.class);
cfg.addAnnotatedClass (us_Grupo.class);
SessionFactory fabrica = cfg.buildSessionFactory();
Session sessao = fabrica.openSession();
org.hibernate.Transaction tx_pessoa = sessao.beginTransaction();
us_Grupo objGrupo = new us_Grupo();
objGrupo.setGru_descricao("Administrador");
us_Usuario objUsuario = new us_Usuario();
objUsuario.setUsu_login ("Ricardo");
objUsuario.setGrupo (objGrupo);
objUsuario.setUsu_senha ("Rick");
sessao.save(objUsuario);
tx_pessoa.commit();
sessao.close();
Muito Obrigado a Todos um Forte abraco e muito obrigado pela ajuada desde ja.