jpa 单向manytoone,删除one,检查数据完整性

即检查 one的一方是否存在被关联的数据,类似数据库的外键约束。
例如: Student 与 Teacher,删除Teacher时检查,Student是否有关联数据。

不想直接查询Student表,因为像Student这样关联Teacher的实体很多,大约有10多个。

同样:像Teacher这样被关联的实体也很多,所有我想问一下,有没有通用的方法,检查是否被关联。

我有想过先取得被关联的实体的class(扫描所有实体),用反射取得表名、manytoone的字段,查询是否有关联数据。但我不知道我的想法是否正确。

 @Entity
public class Teacher {
    @Id
    Long id;

    // getter and setter ...
}
 @Entity
public class Student {
    @Id
    private Long id;

    @ManyToOne
    @JoinColumn(name="teacherId")
    private Teacher teacher;
    // getter and setter ...
}

http://www.codeweblog.com/stag/jpa-manytoone-%E5%8D%95%E5%90%91/