Man*_*Row 3 java hibernate jpa version bean-validation
http://docs.oracle.com/javaee/6/api/javax/persistence/Version.html中没有任何内容表明它不能为空.
跑完之后
import javax.validation.Validation;
import javax.validation.Validator;
import org.junit.Test;
import static org.junit.Assert.assertFalse;
public class Test
{
@Test
public void test()
{
//Using Hibernate Validator 4.1.0.Final...
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
assertFalse(validator.validate(new Foo()).isEmpty()); //why does this fail??
}
}
Run Code Online (Sandbox Code Playgroud)
其中Foo.class很简单
import javax.persistence.Entity;
import javax.persistence.Version;
@Entity
public class Foo
{
@Version
private final Integer version = null;
}
Run Code Online (Sandbox Code Playgroud)
测试失败,并且未报告@Version验证错误.
这是否意味着@ Version-annotated字段可以为null?
@Version只定义一个特定的字段用于乐观锁定.它不会影响DB本身的列,也不会影响验证.因此,如果要强制不使用空值,则必须使用其他注释.
如果将版本字段保留为null,则在尝试执行更新时会出现异常.
| 归档时间: |
|
| 查看次数: |
2313 次 |
| 最近记录: |