[Hibernate] Inserindo relaciomento @OneToOne

Olá, tenho essas duas entidades:

@Entity
@Table(name = "PESSOA")
@org.hibernate.annotations.Entity(dynamicInsert = true, dynamicUpdate = true)
public class Pessoa implements Serializable {

	private static final long serialVersionUID = 1L;

        @Id
	@Column(name = "ID_PESSOA", nullable = false)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "pessoa_seq")
	@SequenceGenerator(sequenceName = "seq_pessoa", name = "pessoa_seq", allocationSize = 1)
	private Long idPessoa;

        @OneToOne(mappedBy = "pessoa", cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
	private PessoaFisica pessoaFisica;
...

[code]
@Entity
@Table(name = “PESSOA_FISICA”)
public class PessoaFisica implements Serializable {
@Id
@Column(name = “ID_PESSOA”, insertable = false, updatable = false)
private Long idPessoa;

    @OneToOne
@JoinColumn(name = "ID_PESSOA")
private Pessoa pessoa;


}[/code]

Estou tentando inserir nas duas tabelas da seguinte forma:

Pessoa pessoa = new Pessoa();
pessoa.setNome("Nome");
PessoaFisica pessoaFisica = new PessoaFisica();
pessoaFisica.setSexo("M");
pessoa.setPessoaFisica(pessoaFisica);
...
DaoFactory.getPessoaDao().save(pessoa);

Porém dá o seguinte erro:

org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): model.entity.PessoaFisica

Como eu faço para inserir uma pessoa e uma pessoa física ao mesmo tempo?

aproveitando a dúvida do agasea … eu gostaria de saber tb