使用list()的org.hibernate.ObjectNotFoundException问题

时间:2013-01-18 15:13:55

标签: java hibernate java-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在数据库中创建一个条目,它就可以了。我真的没有得到它,因为我只是尝试加载数据库中的所有条目而不仅仅是特定条目。

我发现类似的问题一直在关注尝试使用给定的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;
}

1 个答案:

答案 0 :(得分:4)

根据我的经验,这种类型的错误消息通常意味着它没有按提到的id找到连接的实体,而不是查询中请求的实体(在您的情况下是Associate)。 我的猜测是Associate类包含一个具有原始类型主键的连接实体。