我在@Table 级别有@Where。
我需要获取 EffDate 字段小于当前日期的行。
@Entity
@Table(name="party")
@Where(clause="EffDate < " + currentdate())
public class Party implements Serializable {
.......
}
我理解@Where 采用需要在编译时提供的常量表达式。但我需要与来自 Java 而不是来自数据库的当前日期进行比较。
知道我该怎么做。
最佳答案
您可以为当前时间戳使用 SQL 函数/常量(取决于它可能被调用的数据库类型,例如 current_timestamp
)(但是请注意,由于这将是纯 SQL,它将使用来自数据库服务器的时间戳,而不是运行 Java 应用程序的服务器:
@Where(clause="EffDate < current_timestamp")
关于java - Hibernate Dynamic @Where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40246797/