我目前有这个类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(产品),以便一个用户只能看到自己公司的产品。公司ID在会话中,并且由于@SQLDelete接收参数,我想做类似的事情:
@Where(clause = "active = '1' and id_company = ?" )
这样我就可以根据每个用户过滤所有表来获取结果,而无需编辑系统中的所有查询。有没有办法实现这个目标?
任何帮助都会得到很好的帮助。
另外,如果需要更多信息来了解问题,请告诉我。
答案 0 :(得分:0)
在休眠方式中有很多方法可以做到这一点,
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/
获取更多信息