1. createSQLquery时变量注入不能为关键字,如:不能为“ORDER BY :TYPE”。
2. top n里的n不能使用注入的方法赋值,如不能“SELECTTOP :n”,可直接字符串拼接(存在sql注入隐患)和用存储过程。
3. 模糊查询:
“ SELECT * FROM user WHERE name LIKE :name ”
set方法写法:setInteger("name", “%”+name+”%”);
错误写法:setInteger("name", “’%”+name+”%’”);
4、实体类属性名称和数据库关键字冲突时,在映射的列名前后上需加上键盘上数字键“1”左边的键值,如“·comment·”
@Column(name ="`COMMENT`", length = 200)
public String getComment() {
returncomment;
}
5、在hibernate Annotation中,实体BLOB、CLOB类型的注解与普通的实体属性有些不同,具体操作如下:BLOB类型,类型声明为byte[]:
private byte[] content; |
注解:
@Lob |
CLOB类型,类型声明为String即可:
private String remark; |
注解:
@Lob |