Relacionamento OnetoOne Bidirecional - Excluir entidade filha ao setar nulo na entidade pai

Bom dia. Estou fazendo um relacionamento simples onetoone bidirecional usando jpa/hibernate.
Segue minhas entidades.

public class Pessoa {
	@Id
	private Integer codEntidade;
	@OneToOne(mappedBy = "codEntidade", cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval=true)
	private PessoaFisica fisica;
getters e setters...
}
@Entity
public class PessoaFisica {
	@Id
	@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
	@JoinColumn(name = "codEntidade")
	private Pessoa codEntidade;
getters e setters...
}

Gostaria que quando eu fizesse esse código abaixo, ele excluísse a entidade PessoaFisica. Obs: O registro de codigo 1 já está cadastrado no banco e a pessoafisica tambem.

Pessoa p = new Pessoa();
p.setCodEntidade(1);
p.setFisica(null);
em.merge(p);

Mas quando eu executo esse código ele gera muitos erros.

Obrigado.

Por que não usa o remove?
E quais são os erros?

Qual o erro ?

Qual o erro?

Eu gostaria que fosse automático, por isso não usei o remove, mas se não tiver jeito vou ter que usar.
É uma lista de erro gigante. Da até erro ao inserir aqui no forum. Isso é apenas o começo do erro.

Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
	at java.util.HashMap.hash(Unknown Source)
	at java.util.HashMap.getEntry(Unknown Source)
	at java.util.HashMap.get(Unknown Source)
	at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:1127)
	at org.hibernate.internal.SessionFactoryImpl.getIdentifierType(SessionFactoryImpl.java:1213)
	at org.hibernate.type.EntityType.getIdentifierType(EntityType.java:546)
	at org.hibernate.type.EntityType.getIdentifierOrUniqueKeyType(EntityType.java:571)
	at org.hibernate.type.ManyToOneType.getColumnSpan(ManyToOneType.java:109)
	at org.hibernate.type.ComponentType.getColumnSpan(ComponentType.java:111)
	at org.hibernate.type.ManyToOneType.getColumnSpan(ManyToOneType.java:109)
	at org.hibernate.type.ComponentType.getColumnSpan(ComponentType.java:111)
	at org.hibernate.type.ManyToOneType.getColumnSpan(ManyToOneType.java:109)
	at org.hibernate.engine.internal.JoinHelper.getAliasedLHSColumnNames(JoinHelper.java:86)
	at org.hibernate.engine.internal.JoinHelper.getAliasedLHSColumnNames(JoinHelper.java:53)
	at org.hibernate.loader.JoinWalker.walkEntityAssociationTree(JoinWalker.java:390)
	at org.hibernate.loader.JoinWalker.walkEntityTree(JoinWalker.java:520)
	at org.hibernate.loader.JoinWalker.walkEntityTree(JoinWalker.java:293)
	at org.hibernate.loader.AbstractEntityJoinWalker.initAll(AbstractEntityJoinWalker.java:85)
	at org.hibernate.loader.entity.EntityJoinWalker.<init>(EntityJoinWalker.java:94)
	at org.hibernate.loader.entity.EntityLoader.<init>(EntityLoader.java:137)
	at org.hibernate.loader.entity.EntityLoader.<init>(EntityLoader.java:87)
	at org.hibernate.loader.entity.EntityLoader.<init>(EntityLoader.java:61)
	at org.hibernate.loader.entity.BatchingEntityLoader.createBatchingEntityLoader(BatchingEntityLoader.java:151)
	at org.hibernate.persister.entity.AbstractEntityPersister.createEntityLoader(AbstractEntityPersister.java:2456)
	at org.hibernate.persister.entity.AbstractEntityPersister.getAppropriateLoader(AbstractEntityPersister.java:3918)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3886)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:616)
	at org.hibernate.type.EntityType.resolve(EntityType.java:441)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:666)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:780)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:659)
	at org.hibernate.loader.Loader.doQuery(Loader.java:874)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)

Obrigado pela resposta.

Seu relacionamento tá bidirecional… a pessoa fisica ainda aponta para a pessoa.

Isso, eu queria que a chave primaria de Pessoafisica fosse Pessoa. No banco de dados ficaria a tabela pessoa(CodPessoa PK, …) e a tabela PessoaFisica (CodPessoa PK/FK).
Obrigado

[quote=rkrterada]Isso, eu queria que a chave primaria de Pessoafisica fosse Pessoa. No banco de dados ficaria a tabela pessoa(CodPessoa PK, …) e a tabela PessoaFisica (CodPessoa PK/FK).
Obrigado[/quote]Isso oq? O.o

Eu falei seu problema. =P

faça pessoa.getFisica().setPessoa(null) e depois p.setFisica(null);

Ops, entendi errado. Mals.

O erro continua. Neste caso, qual a melhor maneira? Remover pessoafisica e depois salvar pessoa?? Tïpo assim?

[quote=rkrterada]Ops, entendi errado. Mals.

O erro continua. Neste caso, qual a melhor maneira? Remover pessoafisica e depois salvar pessoa?? Tïpo assim?

[quote]
em.remove(pessoaFisica);
em.merge(pessoa);
[/quote][/quote]Creio que dará erro. Você fez teste?

Cara, desculpa a demora. Estava fazendo uns testes aqui e descobri que o erro estava no em.find(id).

Então eu coloquei meu relacionamento como Lazy e parou de dar erro.

Obrigado pela força.

[quote=rkrterada]Cara, desculpa a demora. Estava fazendo uns testes aqui e descobri que o erro estava no em.find(id).

Então eu coloquei meu relacionamento como Lazy e parou de dar erro.

Obrigado pela força.[/quote]A gente estava falando de delete… o loco!

Esse meu código ta meio loko. Ta dando erro direto no find.

Ele fica retornando um monte de select, mesmo eu passando o id.

Se eu coloco meu relacionamento como EAGER ele da esse erro loko.
Se eu coloco meu relacionamento como Lazy ele da esse erro aqui:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at org.hibernate.persister.entity.AbstractEntityPersister.loadByUniqueKey(AbstractEntityPersister.java:2322)
	at org.hibernate.type.EntityType.loadByUniqueKey(EntityType.java:667)
	at org.hibernate.type.EntityType.resolve(EntityType.java:444)
	at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:168)
	at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:134)
	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1019)
	at org.hibernate.loader.Loader.doQuery(Loader.java:898)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:263)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2006)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3887)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:458)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:427)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
	at org.hibernate.internal.SessionImpl.access$2000(SessionImpl.java:175)
	at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2424)
	at org.hibernate.internal.SessionImpl.get(SessionImpl.java:974)
	at org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:807)
	at org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:781)
	at br.com.emdurb.geral.dao.Dao.buscar(Dao.java:54)
	at br.com.emdurb.tesis.dao.DaoPessoa.get(DaoPessoa.java:38)
	at br.com.emdurb.tesis.CadEntidade.excluir(CadEntidade.java:834)
	at br.com.emdurb.tesis.CadEntidade.actionPerformed(CadEntidade.java:1126)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$200(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$200(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Achei que tivesse resolvido, mas não resolveu não.