0

今週、休止状態をプログラムすることを学びましたが、私のアプローチが正しいかどうかはわかりません。私は多くの記事を読みましたが、すべての休止状態の記事は少し異なって見えました。Hibernate 4 を使用していますが、これはデータベースからデータを取得する正しい方法ですか? 現在は機能していますが、これが最善の方法であるかどうかはわかりません:)何か不足していますか? データを取得するためのより良い/よりクリーンな方法はありますか?

    @Autowired
private SessionFactory sessionFactory;

public List<UserFigures> getKeyFigure(int userId) {

    Session session = getSessionFactoryDw().openSession();

    String hql = "from Figures " +
                "where UserID = :userId ";

    Query query = session.createQuery(hql);
    query.setParameter("userId", userId);
    List<UserFigures> res = query.list();
    session.close();
    return res;
}
4

1 に答える 1

3

コードの主な問題は、Javaの命名規則が尊重されていないこと、トランザクションが不足していること、およびセッション処理コードが不十分であることです。

@Autowiredの使用法を考えると、Springを使用していると思います。したがって、Springセッションとトランザクション管理を使用して、現在のSpring宣言型トランザクションに関連付けられたコンテキストセッション(つまり、sessionFactory.getCurrentSession()の代わりに使用)を作成する必要があります。sessionFactory.openSession()

Springのドキュメントには、 Hibernate専用の章全体があります。それを読んで。

また、Figuresという名前を付ける必要がありますFigure

于 2013-01-27T13:05:42.107 に答える