Boa noite pessoal, tudo bem ?
Estou fazendo um mapeamento usando hibernate com a seguinte relação.
@Table(name="tratamento")
public class Tratamento extends Entidade{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToOne(fetch=FetchType.LAZY, cascade = CascadeType.MERGE)
@ForeignKey(name="FK_TRATAMENTO_FUNCIONARIO")
private Funcionario funcionario;
}
A Outra tabela é :
@Table(name="funcionario")
public class Funcionario extends Entidade{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToOne(fetch=FetchType.LAZY, cascade=CascadeType.ALL, optional=false)
@ForeignKey(name="FK_FUNCIONARIO_PESSOA")
private Pessoa pessoa;
Quando eu mandou exluir um TRATAMENTO elança a seguinte exception :
Cannot delete or update a parent row: a foreign key constraint fails (demo.dia, CONSTRAINT FK_DIA_FUNCIONARIO FOREIGN KEY (funcionario_id) REFERENCES funcionario (id))
2013-04-01 22:01:27 ERROR [http-bio-8080-exec-10] (AbstractFlushingEventListener.java:324) - Could not synchronize database state with session
Pelo visto ele está tentando excluir o FUNCIONÁRIO… como resolver isso ?