我在Web应用程序中使用Java + JPA + Hibernate + Playframework1,并拥有模型Classroom,Student和Group(见下文)。每个模型在数据库中只有一个实例,并且这些实例彼此相关。理想情况下,删除教室也应该删除它的小组,并分离它的学生,删除学生应该分离它的教室和小组,删除小组应该分离它的学生,但它没有用。
....
@ViewChild('inputRef') inputRef;
....
ngOnInit() {
this.myForm = this._fb.group({
myInput: ['', [Validators.required]]
});
// listen to input changes
this.myForm.get('myInput').valueChanges.subscribe(val => {
const elRef = this.inputRef.nativeElement;
// get stored original unmodified value (not including last change)
const orVal = elRef.getAttribute('data-model-value') || '';
// modify new value to be equal to the original input (including last change)
val = val.replace(orVal.toUpperCase(), orVal);
// store original unmodified value (including last change)
elRef.setAttribute('data-model-value', val);
// set view value using DOM value property
elRef.value = val.toUpperCase();
// update model without emitting event and without changing view model
this.myForm.get('myInput').setValue(val, {
emitEvent: false,
emitModelToViewChange: false
});
});
}
当我尝试删除教室,学生或小组时,他们根本就不会被删除。没有运行时异常,没有SQL错误,没有任何东西。它只是默默地失败了。我甚至激活了sql debug并且没有看到任何删除,只需选择。
更新:不知何故,正确删除了与学生无关的小组的课程。
以下是映射:
|Classroom|[Many]-------[Many]|Student|
[One] [Many]
| /
| /
[Many] /
|Group|[Many]--------------´
Model类是Play Framework的一部分。我正在使用Play 1.4.4。
我相信我的映射有问题,但是什么?
我在github发布了源代码。