0

休止状態の検証が機能していないことがわかりました。注釈付きのhibernate3を使用しています。次のコードを確認してください。

@Entity
@Table(name = "registration")
public class Pojo implements Serializable{

    @Id
    @Column(name = "id")
    @NotNull
    private int id;
    @Column(name = "name", length=5)
    @NotNull
    private String name;
    @Column(name = "surname", length=5)
    @NotNull
    private String surname;
    @Column(name = "address", length=5)
    @NotNull
    private String address;
getters and setters

}

以下は私のサーブレットです

System.out.println("Kshitij-----");
        PrintWriter out = response.getWriter();
        SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
        Session session = sessionFactory.openSession();
        Transaction transaction = session.beginTransaction();
        Pojo r = new Pojo();
        r.setId(Integer.valueOf(request.getParameter("id")));
        r.setName(request.getParameter("name"));
        r.setSurname(request.getParameter("surname"));
        r.setAddress(request.getParameter("address"));
        session.save(r);
        transaction.commit();
        session.close();
        out.println("Success.....");

値のないレコードを挿入しています。何か新しいものを追加する必要がありますか。

4

3 に答える 3

0

検証は、データが保存されない理由の問題ではありません。session.close();セッションを閉じますが、その前にフラッシュを呼び出す必要があります。これは、セッションを操作してデータを正常に保存するための正しい順序です。

flush the session
commit the transaction
close the session
handle exceptions

ドキュメントを見る

于 2012-07-11T09:32:41.983 に答える
-1

これらの制約を追加した後、現在のテーブルを削除して再作成してみてください。再起動も試してみてください。私は以前に同じ問題を抱えていて、うまくいきます。これがあなたの状況であるかどうかはわかりません。

于 2016-07-22T11:40:47.357 に答える