Mapeameno OnetoOne

Estou tendo problemas para mapear um relacionamento OnetoOne entre duas entidades
De um lado da relação o id do objeto é gerado por uma sequence
Do outro lado o id do objeto é fk do objeto acima.
Ja tentei de todas as formas, e nenhuma funcionou. A forma que postei funcionou para obtenção, mas quando tento inserir em cascade ele da problema de id.

@Entity
@Table(name=“CLIENTE”)
@SequenceGenerator(name=“SEQ_CLIENTE”, sequenceName=“SEQ_CLIENTE”, allocationSize=1)
public class Cliente implements Serializable{
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator=“SEQ_CLIENTE”)
@Column(name=“ID_CLIENTE”)
private Long idCliente;

@OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.LAZY)  
@PrimaryKeyJoinColumn 
private Endereco endereco; 

}

@Entity
@Table(name=“ENDERECO”)
public class Endereco implements Serializable{
@Id
@Column(name = “ID_CLIENTE”, unique = true, nullable = false)
private Long idCliente;

@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "endereco")
private Cliente cliente;

}