Hibernate criteria.list()显示空指针异常

Hibernate criteria.list()显示空指针异常,hibernate,jakarta-ee,Hibernate,Jakarta Ee,我正在研究Hibernate3.3。最近我开始使用标准。我的注释类如下所示 @Entity @Table(name = "EMAG_ADMINLOGIN", schema = "EMAG_USER") public class Adminlogin implements java.io.Serializable { private String username; private String password; private String fullname; private long is

我正在研究Hibernate3.3。最近我开始使用标准。我的注释类如下所示

@Entity
@Table(name = "EMAG_ADMINLOGIN", schema = "EMAG_USER")
public class Adminlogin implements java.io.Serializable {

private String username;
private String password;
private String fullname;
private long isenabled;

@Id
@Column(name = "USERNAME", unique = true, nullable = false, length = 40)
public String getUsername() {
    return this.username;
}

public void setUsername(String username) {
    this.username = username;
}
@Column(name = "PASSWORD", length = 40)
public String getPassword() {
    return this.password;
}

public void setPassword(String password) {
    this.password = password;
}

@Column(name = "FULLNAME", nullable = false, length = 100)
public String getFullname() {
    return this.fullname;
}

public void setFullname(String fullname) {
    this.fullname = fullname;
}
@Column(name = "ISENABLED", precision = 0)
public long getIsenabled() {
    return this.isenabled;
}

public void setIsenabled(long isenabled) {
    this.isenabled = isenabled;
}
}
我的标准代码如下

Criteria criteria=session.createCriteria(Adminlogin.class);
criteria=criteria.add(Restrictions.eq("username", "admin"));
List list=criteria.list();

此代码显示行上isEnabled值为null时的错误。我知道它不能将空值转换为原始数据类型long。所以我想知道是否有其他方法可以跳过任何属性的空值。(我发布了一个表类,并且有更多表具有相同的类映射)

尝试使用NotFound注释: 也许你的问题会得到解决

  @NotFound(action = NotFoundAction.IGNORE)

将“isenabled”的类型更改为“Long”,或根据您的要求为db架构中的列定义默认值。

仍然收到此“Null值已分配给primitive type setter的属性”错误消息…将primitive Long更改为Long classI我已经知道我可以这样做。在这里,我发布了一个表注释类。但我还有很多。如果我在注释类中更改,我必须更改我的整个代码…然后在问题中提及您知道的内容。其他人会知道你改变了/有很多类没有遵循写一些测试一些。(“我有更多”)我更新了。。经过大量搜索后,改变为长或大十进制对象或其他对象是实现这一点的方法。。谢谢你的建议。。。