java - 如何使用 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) 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 = "STKSOHQTY01 >= 0")  
public class Coupon implements  Serializable {

}

应该可以

关于java - 如何使用 hibernate 注释验证负值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11187610/

相关文章:

关闭扫描仪时出现 java.util.NoSuchElementException 错误

c# - C# 中的 Sql Parser 用于语法检查 Oracle 语句

java - 无法使用 POST 请求和 Jackson 发送 JSON

java - 如何以 JSON 格式显示多对一对象

java - 我们可以用 Java(或 Kotlin)表示 "self class"吗?

java - 通过Windows在Linux服务器上构建Java代码

java - 在字符数组java中查找一个单词

sql - 在特定场景下查询获取oracle中的先前日期

java - Java EE 中与数据库的简单连接

java - 使用 IN 子句的嵌套 JPA 查询