@Where注解使用。
这是一个hibernate的注解,主要作用是在HQL转成SQL时自动添加where条件。
@Where注解一般可以放在Class的头上,也可以放在get方法的头上。
@Where(clause = “condition = 1” )
加了这个注解就表示在执行hibernate查询操作时 会自动在sql的where后加一个条件condition = 1;
例如说原本的不加这个注解时最终的sql是
select * from user where id='5'
加后sql会变为
select * from user where id='5' and condition=1
一般用这个注解会用来添加flag条件,
例如
在member表中有字段flag,flag=1表示member是active的
flag=0表示member是not active的,
一般查询只会考虑member是active的情况,就加一个这样的注解
@Where(clause = “flag= 1” )
虽然我们也可以直接在hql或sql中直接加这个条件,但终究没有自动生成的方便。