Ahora mismo no puedo realizar todas las pruebas que comentas, tendrá que ser esta tarde, lo que si puedo mirar es los tipos de datos de la clase que son los mismos que los de la tabla
Código:
@Entity
@Table(name="cliente")
@NamedQueries({
@NamedQuery(name = "Cliente.findAll", query = "SELECT a FROM Cliente a"),
@NamedQuery(name = "Cliente.findByNombre", query = "SELECT a FROM Cliente a WHERE a.nombreRazonSocial = :nombre"),
@NamedQuery(name = "Cliente.findByCifNif", query = "SELECT a FROM Cliente a WHERE a.cif = :cif")})
public class Cliente implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(unique=true, nullable=false)
private BigInteger id;
@Column(unique=true, nullable=false, length=50)
private String cif;
@Column(length=50)
private String codigoPostal;
@Lob
private String comentarios;
@Column(length=50)
private String concertador;
@Column(length=500)
private String direccion;
@Column(length=100)
private String email;
@Column(length=50)
private String gerente;
private int lineasFijo;
private int lineasMovil;
@Column(length=50)
private String localidad;
@Column(length=50)
private String nombreRazonSocial;
@Column(length=20)
private String numeroCuenta;
@Column(length=50)
private String operadorFijo;
@Column(length=50)
private String operadorMovil;
@Column(length=50)
private String permanenciaFijo;
@Column(length=50)
private String permanenciaMovil;
@Column(length=100)
private String personaContacto;
@Column(length=50)
private String provincia;
@Column(length=50)
private String segmento;
@Column(length=50)
private String telefono;
@Column(length=50)
private String telefonoContacto;
@Column(length=10)
private String telefonos;
@OneToMany
@JoinColumn(name="DNICliente")
private List<Telefono> telefonosSet;
//Getters y Setters