4

私は現在、このクラス Product を持っており、このように注釈が付けられています (私はソフト削除を使用しています):

@SQLDelete(sql = "UPDATE products SET active = '0' WHERE id_product = ? and last_modification_date = ?")
@Where(clause = "active = '1'" )
@Entity
@Table(name = "products ")
public class Product {
  .....
}

@Where 句を使用して Bean (製品) をフィルター処理し、1 人のユーザーが自社の製品のみを表示できるようにします。会社 ID はセッション内にあり、@SQLDelete はパラメーターを受け取るため、次のようなことをしたいと考えていました。

@Where(clause = "active = '1' and id_company = ?" )

システム内のすべてのクエリを編集することなく、すべてのテーブルをフィルタリングして、各ユーザーに応じて結果を取得できるようにします。これを達成する方法はありますか?

どんな助けでも非常に感謝されます。
また、問題を理解するためにさらに情報が必要な場合はお知らせください。

4

1 に答える 1

-2

休止状態でこれを行う方法はたくさんありますが、

String hql = "from Stock s where s.stockCode = :stockCode";
List result = session.createQuery(hql)
.setString("stockCode", "7277")
.list();

このリンクから詳細情報を取得できますhttp://www.mkyong.com/hibernate/hibernate-parameter-binding-examples/

于 2012-12-17T19:10:28.217 に答える