Java org.hibernate.ObjectNotFoundException问题与使用列表()有关
以下查询引发异常:Java org.hibernate.ObjectNotFoundException问题与使用列表()有关,java,hibernate,jakarta-ee,Java,Hibernate,Jakarta Ee,以下查询引发异常: Query query = session.createQuery("from Associate as a order by a.username asc"); associates = query.list(); org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行:[ca.mypkg.model.Associate#0] 如果我在数据库中创建一个id为0的条目,它就可以正常工作。我没有真正理解它,因为我只是尝试加载数
Query query = session.createQuery("from Associate as a order by a.username asc");
associates = query.list();
org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行:[ca.mypkg.model.Associate#0]
如果我在数据库中创建一个id为0
的条目,它就可以正常工作。我没有真正理解它,因为我只是尝试加载数据库中的所有条目,而不仅仅是一个特定的条目
我发现类似的问题与尝试加载具有给定ID
的对象有关,我没有这样做
副班:
@Table(name = "user")
@XmlRootElement(name = "associate")
public class Associate implements Serializable {
private String username;
private String password;
private String firstName;
private String lastName;
private String userType;
private int id;
private String email;
private String isActive;
private Department dept;
private String lastUpdated;
private String associate_type;
// ...
@Id
@GeneratedValue
public int getId() {
return id;
}
@OneToOne
@JoinColumn(name = "dept")
public Department getDept() {
return dept;
}
根据我的经验,这种类型的错误消息通常意味着它找不到通过所述id连接的实体,也找不到查询中请求的实体(在您的情况下是关联)。
我猜Associate类包含一个具有基元类型主键的联接实体。看起来
order by
子句有问题,请发布您的Associate
实体。看起来您在Associate实体类中没有username属性。正如@Atropo提到的,请提供这个类。即使没有clauseYou完全正确的命令,也会引发相同的异常。在department表中,department manager用户id似乎设置为0,而用户表中不存在该id。这个例外有点误导。谢谢