Deletar em cascata no hibernate annotation?

Estou com um problema no minha aplicação, não estou conseguindo deletar em cascata no hibernate annotation, ele deleta normal mas deixa os orfãos

eis o codigo:

@Entity
@Table(name=“Visita”)
public class Visitas implements Serializable {

@GeneratedValue
@Id
Long idVisita;

@ManyToOne(cascade={CascadeType.PERSIST,CascadeType.REMOVE})
@JoinColumn(name="Vereadores_idVereadores")
@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
Vereadores vereadores = new Vereadores();

@ManyToOne(cascade={CascadeType.PERSIST,CascadeType.REMOVE})
@JoinColumn(name="visitantes_idVisitantes")
@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
visitantes visitantes = new visitantes();. . . 

ou seja minha entidade Visitas tem essas duas forinkeys das entidades Vereadores e Visitantes, outra coisa na hora que deleto os dados da entidade Vereador logicamente deveria deletar também as visitas para esse vereador o que não esta acontecendo gostaria que alguem pudesse me ajudar na resolução desse problema. :frowning:

Usei isso e resolveu.

@org.hibernate.annotations.Cascade(value = org.hibernate.annotations.CascadeType.ALL)

Tentei esse codigo mas ainda não deu certo. O hibernate não deleta em cascata nem a pau o que pode ter de errado??? :frowning:

deleta sim. poe ai em cascata sua anotacao. Agora veja no seu banco se o indice de sua coluna está como ALL. Se estiver usando o mysql, deve criar o indice manulamente primeiro depois que criar os FKs informar que o modo cascade será ALL.

Eu usei:

cascade=CascadeType.ALL

Bom ja tentei de tudo coloquei o castade=CascadeType.ALL e deu um erro estranho, agora além de ainda não deletar em castaca quando salvo alguma visita na tabela de visitas na tabela de vereadores o nome dele fica null isso só pq coloquei essa anotação. bom dei uma olhadinha no banco, eu uso o mysql e lá os indices estão assim:
PRIMARY PRIMARY idVisita
Visita_FKIndex1 INDEX visitantes_idvisitantes
Visita_FKIndex2 INDEX Vereadores_idVereadores

obs: Estou usando o phpadmin do easyphp

quando deleto um vereador as visitas referente a ele não deleta só aparece assim no hibernate:
Hibernate: delete from Vereadores where idVereadores=? e não faz a cascade funcionar.

ja tentei até coloco OneToMay na classe vereadores com a cascade all e tb não funcionou.

Olá.
Sei que o tópico é do inicio do ano mas vou postar mesmo assim. Pode ser útil para aguém que chega até aqui via Google =)

Eu tenho duas tabelas no meu banco de dados, a Student e Adress, onde na tabela Student tem um FK para Adress. Quando eu quero apagar um registro de Aluno (Student) eu também quero que ele apage o endereço dele na tabela Adress automaticamente. Então para isso eu estou mapeando da seguinte forma:

@Entity
public class Student {
	
	@Id @GeneratedValue
	private int			id;
	private String		name;
	private Character	genus;
	private Date		birth;
	private long		foneResidential;
	private long		foneMobile;
	private String		email;
	
	@OneToOne(cascade = CascadeType.ALL) @JoinColumn(name="adress")
	private Adress		adress;	
	
	@OneToMany @JoinTable(name="AcademicFinances", joinColumns=@JoinColumn(name="student"))
	private List<AcademicFinances> finances;
	
	@ManyToMany 
	@JoinTable(name="StudentPlan", joinColumns=@JoinColumn(name="student"), inverseJoinColumns=@JoinColumn(name="plan"))
	@NotFound(action=NotFoundAction.IGNORE)
	private List<Plan> plans;
...

}
Ou seja, para apagar o registro de endereço eu só adiciono "cascade = CascadeType.ALL" na declaração "@OneToOne", ficando "@OneToOne(cascade = CascadeType.ALL) @JoinColumn(name="adress")"

Espero ter ajudado!
Abraço o/