JPA mapeamento

Tenho duas tabelas:

// Tabela Fonecedor
CREATE TABLE 'fornecedor(idint(10) unsigned NOT NULL auto_increment,nomevarchar(45) NOT NULL default '', PRIMARY KEY (id`)
);

// Tabela endereco
CREATE TABLE endereco (
id_fornec int(10) unsigned NOT NULL default ‘0’,
rua varchar(45) NOT NULL default ‘’,
PRIMARY KEY (id_fornec),
CONSTRAINT FK_ender_1 FOREIGN KEY (id_fornec) REFERENCES fornecedor (id) ON DELETE CASCADE ON UPDATE CASCADE
);

// Objeto Fornecedor
@Entity
public class Fornecedor implements Serializable {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = “id”, nullable = false)
private Integer id;

@Column(name = “nome”, nullable = false)
private String nome;

@OneToOne(cascade = CascadeType.ALL, mappedBy = “fornecedor”)
private Endereco endereco;

// Objeto Endereco
@Entity
public class Endereco implements Serializable {

@Id
@Column(name = “id_fornec”, nullable = false)
private Integer idFornec;

@Column(name = “rua”, nullable = false)
private String rua;

@JoinColumn(name = “id_fornec”, referencedColumnName = “id”, insertable = false, updatable = false)
@OneToOne
private Fornecedor fornecedor;

Quando vou persistir o objeto Fornecedor pela primeira vez (insert) uma exceptions e gerada dizendo, que o id_fornec nao pode ser nulo, ou seja o JPA nao esta usando automaticamente o ID gerado pelo fornecedor para definir a FK automaticamente. Ele espera que eu setId_fornec manualmente.
Eu não estou conseguindo fazer uma anotação para que ele peque a Pk criada pelo mysql e crie o endereço setando a FK com esta PK automaticamente.
Estou trabalhando com NetBeans e JPA (TopLink Essentials).
Alguem pode me ajudar?

Faz um teste ai troque o private Integer idFornec;
por
private int idFornec;

assim vc garante um o id nunca será nulo.

Para criar o endereço vc deverá setar o cascade. Tenta com o
cascade = { CascadeType.ALL }