style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

insertar llaves foraneas usando entity clases from database

Acudo a ustedes para ver si me pueden ayudar con este problema , tengo dos tablas relacionadas factura y cliente estas se relacionan por medio de un campo llamado cuenta, ahora bien en java creo una clase haciendo uso de la opcion " entity clases from database" esta clase para el campo cuenta me lo mapea de la siguiente forma

@JoinColumn(name = "cuenta", referencedColumnName = "cuenta", insertable = false, updatable = false)

Ahora bien mi clase que se encarga de llenar la tabla factura hace lo siguiente:

 Factura datos =new Factura();
                 datos.setFolioF(folio);
                 datos.setFEmision(fecha);

Y aqui viene el problema cuando quiero insertar el valor del campo cuenta("en la base de datos es tipo serial") en vez de pedirme un int, me pide un tipo de dato de la clase cliente("en esta clase se encuentra el campo cuenta"), a que se debe esto? como podria insertar el campo cuenta?
A grandes rasgos las clases involucradas son estas , omitiré los get y set para que el post no se haga muy largo,
cliente:

@Entity
@Table(name = "cliente")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Cliente.findAll", query = "SELECT c FROM Cliente c"),
    @NamedQuery(name = "Cliente.findByCuenta", query = "SELECT c FROM Cliente c WHERE c.cuenta = :cuenta"),
    @NamedQuery(name = "Cliente.findByNombreCliente", query = "SELECT c FROM Cliente c WHERE c.nombreCliente = :nombreCliente"),
    @NamedQuery(name = "Cliente.findByApptCliente", query = "SELECT c FROM Cliente c WHERE c.apptCliente = :apptCliente"),
    @NamedQuery(name = "Cliente.findByApmtCliente", query = "SELECT c FROM Cliente c WHERE c.apmtCliente = :apmtCliente"),
    @NamedQuery(name = "Cliente.findByDomicilio", query = "SELECT c FROM Cliente c WHERE c.domicilio = :domicilio")})
public class Cliente implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "cuenta")
    private Integer cuenta;
    @Size(max = 30)
    @Column(name = "nombre_cliente")
    private String nombreCliente;
    @Size(max = 30)
    @Column(name = "appt_cliente")
    private String apptCliente;
    @Size(max = 30)
    @Column(name = "apmt_cliente")
    private String apmtCliente;
    @Size(max = 90)
    @Column(name = "domicilio")
    private String domicilio;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "cliente")
    private Collection<Factura> facturaCollection;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "cliente")
    private Collection<Historico> historicoCollection;

    public Cliente() {
    }

    public Cliente(Integer cuenta) {
        this.cuenta = cuenta;
    }
.....

Factura:

@Entity
@Table(name = "factura")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Factura.findAll", query = "SELECT f FROM Factura f"),
    @NamedQuery(name = "Factura.findByFolioF", query = "SELECT f FROM Factura f WHERE f.folioF = :folioF"),
    @NamedQuery(name = "Factura.findByFEmision", query = "SELECT f FROM Factura f WHERE f.fEmision = :fEmision"),
    @NamedQuery(name = "Factura.findByCuenta", query = "SELECT f FROM Factura f WHERE f.facturaPK.cuenta = :cuenta"),
    @NamedQuery(name = "Factura.findByConsecutivoF", query = "SELECT f FROM Factura f WHERE f.facturaPK.consecutivoF = :consecutivoF")})
public class Factura implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected FacturaPK facturaPK;
    @Size(max = 10)
    @Column(name = "folio_f")
    private String folioF;
    @Column(name = "f_emision")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fEmision;
    @JoinColumn(name = "cuenta", referencedColumnName = "cuenta", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Cliente cliente;

    public Factura() {
    }

    public Factura(FacturaPK facturaPK) {
        this.facturaPK = facturaPK;
    }

    public Factura(int cuenta, int consecutivoF) {
        this.facturaPK = new FacturaPK(cuenta, consecutivoF);
    }

-........

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">