2012-04-04 5 views
0

多くの情報を持つテーブルがあります。このテーブルをビューページから更新している間は、すべての情報をロードしていません。以下は休止状態の他のフィールドに関係なくテーブルの特定のフィールドを更新

が1以上

HibernateTemplate hibernateTemplateObj = getHibernateTemplate(); 
     hibernateTemplateObj.update(myEntityBean); 

を休止状態使用してテーブルを更新するための私のコードは、フィールドを更新しているが、私の見解ページに表示されていないフィールドは空白で更新されます。

それは私が更新(「文字列」、実体)を使用する場合、それはそのフィールドを更新すると言うドキュメントhereあたりのように、私は... 1未満に

HibernateTemplate hibernateTemplateObj = getHibernateTemplate(); 
     hibernateTemplateObj.update("myRequiredField", myEntityBean); 

を使用。しかし、それは同じように動作していません。

何かお勧めしますか?


投稿が見つかりました。

post1 post2

それは私がクエリを作成する必要があり、言います。しかし、私はそれからクエリを作成する方法を知らない? もし誰かが何か考えている.. ..助けてください。私はそれがそれらの投稿からの既知の問題だと思う。

答えて

1

このようなセッションオブジェクトを使用してクエリを作成できます。

SessionFactory factory= HibernateUtil.getSessionFactory(); 
    session = factory.openSession(); 
    session.beginTransaction(); 
    Query query = session.createQuery("Select c.productList from Cart c Where c.cartId=:cartId"); 
    query.setParameter("cartId", cart.getCartId()); 
    List productList=(List) query.list(); 
    session.getTransaction().commit(); 

あなたは、あなたがそれをキャストし、それを使用することができ、クエリから返す必要があり、オブジェクトの種類を知っていますが。 ネイティブクエリまたはハイバネートクエリを書くことはできますが、ハイバネートクエリは簡単だと思います。

+0

ありがとうmbaydar、 私は休止状態に慣れていません。だから、私は質問があります。 更新、削除クエリのDMLクエリに** session.createQuery **を使用できますか? – Ketan

+0

実際に休止状態になると、多くのクエリが作成され、実行するだけでhibernatesメソッドが呼び出されます。たとえば、オブジェクトを削除したい場合はsession.delete(オブジェクト)を呼び出すことができ、hibernateはデータベースからクエリと削除オブジェクトを作成します。このようにして、オブジェクトを保存または更新できます。しかし、あなたがそれを自分自身でやりたいのであれば、私の例のようにそれを行うことができます。 – mbaydar

+0

ありがとうmbaydar。私は私の更新クエリと同じコードを使用し、それが動作します。 – Ketan