Olá pessoal, meu problema é o seguinte?
tenho a seguinte situação Usuarios 1 <--------> 1 Clientes 1 <-------> * TelefonesClientes
Na mesma página altero o usuário, o clientes e adiciono, removo ou altero os telefones em um datatable editável do primefaces.
Para salvar tudo isso, estou dando um merge em usuarios, raciocinando que pela cascata seria salvo o usuário, o cliente e as alterações nos telefones
Para minha surpresa as alterações em telefones não foram salvas, e não consigo entender porque. Alguém poderia me ajudar???
Minha entidade Usuarios
@Entity
public class Usuarios implements Serializable {
//...
@OneToOne(cascade = CascadeType.ALL, mappedBy = "usuarios", fetch = FetchType.LAZY)
private Clientes clientes = new Clientes();
//getters e setters
}
Minha entidade Clientes
@Entity
//...
public class Clientes implements Serializable {
//...
//É neste que está o problema
@OneToMany(cascade = CascadeType.ALL, mappedBy = "clientes", fetch = FetchType.LAZY)
private List<TelefonesCliente> telefonesClienteList;
@JoinColumn(name = "CLIENTES_ID_USUARIOS", referencedColumnName = "ID_USUARIOS")
@OneToOne(optional = false, fetch = FetchType.LAZY)
private Usuarios usuarios;
//Neste campo tudo certo
@JoinColumn(name = "CLIENTES_ID_CIDADES", referencedColumnName = "ID_CIDADES", nullable = false)
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private Cidades cidades = new Cidades();
//getters e setters
}
[quote=clarinetabest]Olá pessoal, meu problema é o seguinte?
tenho a seguinte situação Usuarios 1 <--------> 1 Clientes 1 <-------> * TelefonesClientes
Na mesma página altero o usuário, o clientes e adiciono, removo ou altero os telefones em um datatable editável do primefaces.
Para salvar tudo isso, estou dando um merge em usuarios, raciocinando que pela cascata seria salvo o usuário, o cliente e as alterações nos telefones
Para minha surpresa as alterações em telefones não foram salvas, e não consigo entender porque. Alguém poderia me ajudar???
Minha entidade Usuarios
@Entity
public class Usuarios implements Serializable {
//...
@OneToOne(cascade = CascadeType.ALL, mappedBy = "usuarios", fetch = FetchType.LAZY)
private Clientes clientes = new Clientes();
//getters e setters
}
Minha entidade Clientes
[code]
@Entity
//…
public class Clientes implements Serializable {
//…
//É neste que está o problema
@OneToMany(cascade = CascadeType.ALL, mappedBy = “clientes”, fetch = FetchType.LAZY)
private List telefonesClienteList;
@JoinColumn(name = “CLIENTES_ID_USUARIOS”, referencedColumnName = “ID_USUARIOS”)
@OneToOne(optional = false, fetch = FetchType.LAZY)
private Usuarios usuarios;
//Neste campo tudo certo
@JoinColumn(name = “CLIENTES_ID_CIDADES”, referencedColumnName = “ID_CIDADES”, nullable = false)
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private Cidades cidades = new Cidades();
//getters e setters
}
[/code][/quote]
@OneToOne(optional = false, fetch = FetchType.LAZY) Este mapeamento tá certo ? é um para um mesmo ?
E como você está chamando o merge/persist?