gpt4 book ai didi

java - Hibernate 条件 eqOrIsNull 返回错误值

转载 作者:搜寻专家 更新时间:2023-10-30 23:00:04 24 4
gpt4 key购买 nike

<分区>

我有映射到数据库的类。这是我的 hibernate 标准 API 函数:

public List<Department> getDepartmentBy(Account account)
{
return createCriteria(Department.class)
.add(Restrictions.eq("account ", account))
.add(Restrictions.eqOrIsNull("archive", false))
.list();
}

如果没有 eqOrIsNull,我在数据库中有 8 条 archieve = null 的记录。

我的类(class):

private Account _account;
private boolean _archive = false;

@ManyToOne
@JoinColumn(name = "account_l", nullable = false)
public Account getAccount ()
{
return _account;
}

public void setAccount(Account account)
{
_account = account;
}

@Column(name = "archive_p")
public boolean isArchive()
{
return _archive;
}

public void setArchive(boolean archive)
{
_archive = archive;
}

是bug吗?还是我使用了错误的标准 API?

UPD:准确解释
我在数据库中有 8 条记录,archive_p 等于 null。当我想在“存档”字段中选择带有“假”或空值的记录时,我使用 add(Restrictions.eqOrIsNull("archive", false))。我需要带有 NULL 或“false”的记录。但是当我添加 .add(Restrictions.eqOrIsNull("archive", false)) 结果时我得到 0 条记录。

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