Boa tarde pessoal,
Seguinte, estou tendo erro ao deletar com o hibernate em uma de minhas classes persistentes..
->Classe: Usuario
->Tabela representativa no banco de dados: usuarios
@Entity
@Table(name="usuarios")
@TableGenerator(name="gerador_usuarios",table="gerador_chave",
pkColumnName="nome_tabela",valueColumnName="numero_registro",
pkColumnValue="Usuario",allocationSize=1, initialValue=1)
public class Usuario implements IVO {
private static final long serialVersionUID = -7558771630226497076L;
@Id
@Column(name="id_usuario")
@GeneratedValue(generator="gerador_usuarios", strategy=GenerationType.TABLE)
private int idUsuario;
@Column(name="nome_usuario")
private String nomeUsuario;
@Column(name="login_usuario")
private String loginUsuario;
@Column(name="senha_usuario")
private String senhaUsuario;
@ManyToOne
@JoinColumn(name="id_folha_rosto")
private FolhaRosto folhaRosto;
@ManyToOne
@JoinColumn(name="id_grupo")
private Grupo grupo;
@ManyToMany(cascade=CascadeType.REMOVE, mappedBy="usuarios")
@JoinTable(name="telefone_usuarios" ,
joinColumns={@JoinColumn(name="id_usuario")},
inverseJoinColumns={@JoinColumn(name="id_telefone")})
private Set<Telefone> telefones;
@ManyToMany(cascade=CascadeType.REMOVE, mappedBy="usuarios")
@JoinTable(name="funcao_usuarios" ,
joinColumns={@JoinColumn(name="id_usuario")},
inverseJoinColumns={@JoinColumn(name="id_funcao")})
private Set<Funcao> funcoes;
@OneToMany(cascade=CascadeType.REMOVE, mappedBy="usuario")
@JoinColumn(name="id_usuario")
private Set<Endereco> enderecos;
@OneToMany
@JoinTable(name="id_usuario")
private Set<Fax> fax;
@Transient
private PrioridadeDocumento prioridadeDocumento;
Ao inserir e pesquisar nao tenho problemas o hibernate monta a script sql certinha, agora quando mando deletar ele monta a seguinte sintaxe sql:
delete from id_usuario where usuarios_id_usuario=?
delete from usuarios where usuarios_id_usuario=?
Alguma lógica para este problema? Lembro que esta é única classe que apresenta este problema...