Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用hibernate注释验证负值?_Java_Oracle_Hibernate - Fatal编程技术网

Java 如何使用hibernate注释验证负值?

Java 如何使用hibernate注释验证负值?,java,oracle,hibernate,Java,Oracle,Hibernate,我有一张桌子,里面有存货。它是遗留数据库,库存保存在列中。数据库对列有一个约束,声明它们不能是负值。但我只在事务提交后才得到约束冲突 15:21:31,154 WARN JDBCExceptionReporter:77 - SQL Error: 2290, SQLState: 23000 15:21:31,154 ERROR JDBCExceptionReporter:78 - ORA-02290: check constraint (ERPDSS13.STKMAST_CON_QTY13) v

我有一张桌子,里面有存货。它是遗留数据库,库存保存在列中。数据库对列有一个约束,声明它们不能是负值。但我只在事务提交后才得到约束冲突

15:21:31,154  WARN JDBCExceptionReporter:77 - SQL Error: 2290, SQLState: 23000
15:21:31,154 ERROR JDBCExceptionReporter:78 - ORA-02290: check constraint (ERPDSS13.STKMAST_CON_QTY13) violated
ORA-06512: at "ERPDSS13.INLTRAN_UPD_STKMAST", line 25
ORA-04088: error during execution of trigger 'ERPDSS13.INLTRAN_UPD_STKMAST'
有没有一种方法可以通过注释指定列不能为负数。下面是列映射

@Column(name = "STKSOHQTY01", precision = 12)
public BigDecimal getStksohqty01() {
    return this.stksohqty01;
} 

尝试使用
@检查

@Check(constraints = "STKSOHQTY01t >= 0")

public class YourEntity implements  Serializable {...}

尝试使用
@检查

@Check(constraints = "STKSOHQTY01t >= 0")

public class YourEntity implements  Serializable {...}
应该行得通


从Hibernate支持的3.5版开始,它应该可以正常工作。由于API速度快、集成度高,而且更重要的是标准化,因此您可以也应该使用它们来验证您的实体:


从3.5版开始,Hibernate支持标准。由于API速度快、集成度高,而且更重要的是标准化,因此您可以也应该使用它们来验证您的实体:


3.5.4-Final3.5.4-FinalWhere将引发异常?将在何处引发异常?
@Min(value = 0)
@Column(name = "STKSOHQTY01", precision = 12)
public BigDecimal getStksohqty01() {
    return this.stksohqty01;
}