怎么在sql语句的String里定义变量

如String hql ="from Book as book where book.bookNo = [变量]"
Query query = session.createQuery(hql);
字符串hql该怎么写呢?

declare 变量名 varchar(255); #非数字变量
declare 变量名 int; #数字变量
select * from book where book.bookNo = 变量名;

难道是这个意思,String hql ="from Book as book where book.bookNo = ‘" + 变量 + “’”;

这个是hibernate里hql参数名绑定问题,给你个参考Blog
http://www.cnblogs.com/hibernate3-example/archive/2012/05/05/2492494.html

SQL 定义变量declare @strName nvarchar(50);
字符串拼接就好‘from Book as book where book.bookNo = ’ + @strName