Hibernate删除静默失败

时间:2017-12-31 10:08:05

标签: java hibernate jpa playframework hibernate-mapping

我在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发布了源代码。

0 个答案:

没有答案