在新的Glassfish 4.1中,缺少包含注释SessionScoped的包javax.enterprise.context.
我尝试在标准 AbstractFacade(由 NetBeans 生成)的创建和编辑方法上添加参数约束配置(bean 验证)。
所以我尝试:
@Override
public void create(@WkTeilnahmePlanedResult WkTeilnahme entity) {
super.create(entity);
}
Run Code Online (Sandbox Code Playgroud)
这返回了消息
将覆盖另一个方法的方法部署到 Glassfish 4 时不得更改参数约束配置
所以接下来的尝试是
@Override
public void create(WkTeilnahme entity) {
checkedCreate(entity);
}
private void checkedCreate(@WkTeilnahmePlanedResult WkTeilnahme entity) {
super.create(entity);
}
Run Code Online (Sandbox Code Playgroud)
部署没有任何问题......但验证器从未被调用。
你能告诉我为什么吗?
顺便提一句:
@Override
public void create(WkTeilnahme entity) {
throw new UnsupportedOperationException(
"Create not supported! Use checkedCreate() instead!");
}
public void checkedCreate(@WkTeilnahmePlanedResult WkTeilnahme entity) {
super.create(entity);
}
Run Code Online (Sandbox Code Playgroud)
这可行,但并不是很酷!