esta é minha classe OrdemDeServico :
package br.com.cmsinfo.comum;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
@Entity
public class OrdemDeServico implements Entidade {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long codigo;
@ManyToOne(cascade=CascadeType.PERSIST)
private Cliente cliente;
@ManyToMany(mappedBy ="OrdemDeServico", cascade=CascadeType.PERSIST)
private List<Funcionario> funcionario;
public List<Funcionario> getfuncionario() {
if (funcionario == null) {
funcionario = new ArrayList<Funcionario>();
}
return funcionario;
}
public Long getCodigo() {
return codigo;
}
public void setCodigo(Long codigo) {
this.codigo = codigo;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
}
esta é minha classe Cliente:
package br.com.cmsinfo.comum;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;
import javax.persistence.OneToMany;
@Entity
@org.hibernate.annotations.Entity
public class Cliente implements Entidade{
@Id
@GeneratedValue (strategy=GenerationType.IDENTITY)
private Long codigo;
@Column(nullable=false)
private String nome;
@Column(nullable=false)
private String endereco;
@Column(nullable=false)
private Long telefone;
private ArrayList<OrdemDeServico> OrdemdeServico;
@SuppressWarnings("unused")
@OneToMany(mappedBy = "Cliente", cascade =CascadeType.PERSIST)
private List<OrdemDeServico> OrdedeServico;
public List<OrdemDeServico> getOrdemdeServico() {
if (OrdemdeServico == null) {
OrdemdeServico = new ArrayList<OrdemDeServico>();
}
return OrdemdeServico;
}
public Long getCodigo() {
return codigo;
}
public void setCodigo(Long codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public Long getTelefone() {
return telefone;
}
public void setTelefone(Long telefone) {
this.telefone = telefone;
}
}
esta é minha classe DAO :
package br.com.cmsinfo.infra;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import javax.persistence.Query;
import br.com.cmsinfo.comum.Entidade;
import br.com.cmsinfo.comum.InfraException;
public class DAO {
private EntityManagerFactory fabrica;
private EntityManager gerente;
private EntityTransaction transacao;
public DAO(){
fabrica =Persistence.createEntityManagerFactory("blabla");
gerente=fabrica.createEntityManager();
}
public void incluir(Entidade entidade)throws InfraException{
try{
transacao=gerente.getTransaction();
transacao.begin();
gerente.persist(entidade);//insere atravez do metodo persist
transacao.commit();
}catch (Exception e) {
}
}
public void alterar(Entidade entidade)throws InfraException{
try{
transacao=gerente.getTransaction();
transacao.begin();
gerente.merge(entidade);//altera
transacao.commit();
}catch (Exception e) {
}
}
public void excluir(Entidade entidade)throws InfraException{
try{
transacao=gerente.getTransaction();
transacao.begin();
gerente.remove(gerente.merge(entidade));
transacao.commit();//efetiva a transação co o bd
}catch (Exception e) {
}
}
@SuppressWarnings("unchecked")
public List<? extends Entidade> buscarTodos(Class<? extends Entidade> classe){
String jpql= "select e from" + classe.getSimpleName() + " e ";
Query consulta = gerente.createQuery(jpql);
return consulta.getResultList();
}
public Entidade buscarPorCodigo(Class<? extends Entidade> classe, Number codigo){
return gerente.find(classe, codigo);
}
}
meu já olhei refiz isso dai estou tentando resolver isso faz um tempo, estou quase desesperado kk
me ajudem ai por favor!