2

次のクエリは例外をスローします。

 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;
}
4

1 に答える 1

6

私の経験から、このタイプのエラーメッセージは通常、指定されたIDで結合されたエンティティが見つからず、クエリで要求されたエンティティ(この場合はAssociate)が見つからないことを意味します。私の推測では、Associateクラスには、プリミティブ型の主キーを持つ結合エンティティが含まれています。

于 2013-01-18T15:27:49.963 に答える