@Entity
@Table(name="Cliente", schema="Tecnicos")
public class Cliente implements Serializable {
@Id
@SequenceGenerator(name="SEQ_CLI", sequenceName="SEQ_CLIENTE", allocationSize=1, initialValue=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_CLI")
@Column(name="cli_id", nullable=false)
@Resolvable(colName="ID")
private Integer id;
@Column(name="cli_codext")
@Resolvable(colName="CÓDIGO")
private Integer codigoExterno;
@Column(name="cli_fili")
@Resolvable(colName="FILIAL")
private Integer filial;
@Column(name="cli_razaosocial", length=80)
@Resolvable(colName="RAZÃO SOCIAL")
private String razaoSocial;
@Column(name="cli_nomefantasia", length=80)
@Resolvable(colName="NOME FANTASIA")
private String nomeFantasia;
@Column(name="cli_cnpj", length=20)
private String cnpj;
@Column(name="cli_inscest", length=30)
private String InscEst;
@Column(name="cli_endereco", length=200)
private String endereco;
@Column(name="cli_bairro", length=45)
private String bairro;
@Column(name="cli_cidade", length=50)
private String cidade;
@Column(name="cli_estado", length=2)
private String estado;
@Column(name="cli_cep", length=20)
private String cep;
@Column(name="cli_telefone", length=20)
@Resolvable(colName="TELEFONE")
private String telefone;
@Column(name="cli_situreg", length=20)
private String situ_reg;
@Column(name="cli_emailPrincipal", length=150)
@Resolvable(colName="EMAIL")
private String emailPrincipal;
@OneToMany(mappedBy="cliente", fetch=FetchType.LAZY)
@Cascade(CascadeType.ALL)
private Collection<EmailCliente> email;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="tecnico_cliente", schema="Tecnicos",
joinColumns=@JoinColumn(name="teccli_cli_id"),
inverseJoinColumns=@JoinColumn(name="teccli_tec_id"))
private Collection<Tecnicos> tecnicos;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="questionario_cliente", schema="Tecnicos",
joinColumns=@JoinColumn(name="cli_id"),
inverseJoinColumns=@JoinColumn(name="ques_id"))
private Collection<Questionario> questionarios;
@Entity
@Table(name="cli_email", schema="Tecnicos")
public class EmailCliente implements Serializable {
@Id
@SequenceGenerator(name="SEQ_CLIEMA", sequenceName="SEQ_CLIENTEEMAIL", allocationSize=1, initialValue=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_CLIEMA")
@Column(name="cli_email_id", nullable=false)
@Resolvable(colName="ID")
private Integer id;
@Column(name="cli_email_email", nullable=false)
@Resolvable(colName="EMAIL")
private String email;
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="cliema_cli_id", insertable=true, updatable=true)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.SAVE_UPDATE)
@Resolvable(colName="CLIENTE")
private Cliente cliente;
public class teste {
public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
GenericDAO<Cliente> dao = new GenericDAO<Cliente>(Cliente.class, session);
try{
Cliente cli = new Cliente();
cli.setId(1);
cli.setNomeFantasia("teste");
cli.setBairro("dasdas");
cli.setEndereco("endereco");
EmailCliente email1 = new EmailCliente();
email1.setEmail("email1saddasdasdada");
email1.setId(3);
email1.setCliente(cli);
EmailCliente email2 = new EmailCliente();
email2.setEmail("Email2dasdasdasdasdasda");
email2.setId(4);
email2.setCliente(cli);
cli.setEmail(new HashSet<EmailCliente>());
cli.getEmail().add(email1);
cli.getEmail().add(email2);
dao.saveOrUpdate(cli);
}catch(Exception ex){
JOptionPane.showMessageDialog(null, ex);
ex.printStackTrace();
}
}}
mais ele insere ou atualiza o cliente na tabela cliente mais nao insere nem atualiza os emails do cliente