gpt4 book ai didi

java - hibernate中条件设置参数

转载 作者:行者123 更新时间:2023-11-29 11:42:03 24 4
gpt4 key购买 nike

我有这张表:

契约(Contract)

|编号 |人员 ID |初始化日期 |结束日期 |

我想在 hibernate 查询中包含 personId 当 personId > 0 和/或当它们不同于 null 时的日期。

我有:

Query query = session.createQuery("from Contract")

检查情况后如何正确设置参数?

public List<Contract> getByPersonIdAndDates(int personId, Date initDate, Date endDate) {
if(personId > 0)
...
if(initDate != null and endDate != null)
...

最佳答案

您需要使用条件。它只是一个模板(不知道你如何处理日期)

public List<Contract> getByPersonIdAndDates(int personId, Date initDate, Date endDate) {
Criteria criteria = session.createCriteria(Contract.class);
if (personId > 0) {
criteria.add(Restrictions.eq("person.id", personId);
}

if (initDate != null && endDate != null) {
criteria.add(Restrictions.between("date", initDate, endDate);
}

return (List<Contract>)criteria.list();
}

关于java - hibernate中条件设置参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35616059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com