gpt4 book ai didi

java - Hibernate 示例查询的格式不正确

转载 作者:行者123 更新时间:2023-11-30 04:09:04 32 4
gpt4 key购买 nike

用户.hbm.xml

<class name="dataAccess.User" table="USER" schema="PUBLIC" catalog="XYZ">
<id name="userId" type="long">
<column name="USER_ID" precision="10" scale="0" />
<generator class="assigned" />
</id>
<property name="userName" type="string">
<column name="USER_NAME" length="25" not-null="true" unique="true" />
</property>
<property name="emailId" type="string">
<column name="EMAIL_ID" length="50" not-null="true" />
</property>
<property name="password" type="string">
<column name="PASSWORD" length="50" not-null="true" />
</property>
<property name="admin" type="char">
<column name="ADMIN" length="1" not-null="true" />
</property>
<property name="lastLoginTime" type="timestamp">
<column name="LAST_LOGIN_TIME" length="23" />
</property>

我的数据访问功能

public List findByExample(User instance) {
log.debug("finding User instance by example");
try {
List results = sessionFactory.openSession()
.createCriteria("dataAccess.User")
.add(Example.create(instance)).list();
System.out.println(results.size());
log.debug("find by example successful, result size: "
+ results.size());
return results;
} catch (RuntimeException re) {
log.error("find by example failed", re);
throw re;
}
}

我只传递 User 类的 6 个属性中的两个(用户名和密码)。但在查询中它还会检查管理字段。如果我将排除(“admin”)添加到标准中,它就可以正常工作。我不太明白为什么会发生这种情况。

最佳答案

我发现了这个问题。

char 的默认值为“\u0000”。仅当发现值为空时,创建条件才会排除该字段。如果我将其更改为字符串,它就可以正常工作。

关于java - Hibernate 示例查询的格式不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20065347/

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