4

我目前有此类产品,以这种方式注释(我正在使用软删除):

@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(产品),我想要什么,这样一个用户只能看到它自己公司的产品。公司 ID 在会话中,由于 @SQLDelete 接收参数,我想做类似的事情:

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

这样我就可以过滤所有表以根据每个用户获取结果,而无需编辑系统中的所有查询。有没有办法做到这一点?

任何帮助都会非常感激。
另外,如果需要更多信息来理解问题,请告诉我。

4

1 回答 1

-2

在hibernate中有很多方法可以做到这一点,

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 回答