我用的是
RepositoryRestController
公开REST端点以修改实体
X
它链接到另一个实体Y。
class X {
Set<Y> y_set;
}
我想在
Y
将添加或删除到
十、
.
class MyAction {
// initialised somehow
XRepository xRepo;
public void unlinkYFromX() {
X x = xRepo.getAnX();
// get a Y from the ones linked to X using some logic
Y y = x.getYs().get(0);
x.getYs().delete(y);
xRepo.save(x);
// I expect the event handlers to be trigger now
// giving me a reference to x and y
}
}
我正试图定义一个
RepositoryEventHandler
带有注释为
HandleBeforeLinkSave
:
@RepositoryEventHandler
class XYLinkHandler {
@HandleBeforeLinkSave
public void handleYLinkSave(X x, Object linked) {
// do some code with the source X
// and the newly linked Y
}
}
问题是handler函数的第二个参数总是空的。换句话说,它不包含
Y
我正在链接。
同样的现象(缺少链接引用)也会发生,无论它是在事件处理程序之前、之后、保存还是删除之前。
有人遇到过这个问题吗?
有人有解决方案或变通方法吗?
谢谢