‘壹’ 如何一次执行多个create语句(sql server2005)
create view temp1 as select * from tb1;
go;
create view temp2 as select * from tb2;
go;
‘贰’ createsqlquery和createquery的区别
(采用原生sql查询):
String sql = "select a.* from tb_doc_catalog a where a.cat_code like '"+catCode+"%'";
Session session = this.getSession();
try {
List catNameList = session.createSQLQuery(sql).addEntity(DocCatalogInfo.class).list();
return catNameList ;
} finally {
releaseSession(session); //释放session
‘叁’ 为什么Hibetnate中用CreateSQLQuery查询sql还是报错
Message=关键字 'DISTINCT' 附近有语法错误。
'T' 附近有语法错误。
就说明很可能是sql本身的语法错误试试先用最简单的sql语句来确认一下!
‘肆’ hibernate一般使用createQuery还是createSQLQuery,能举例吗
createQuery 这里面是用HQL查询,通常在项目中用这个比较多。 返回值类型有List有对象有属性值。等等
createSQLQuery 这是用SQL语句查询。查询返回值是Object[]数组对象
‘伍’ hibernate createSQLQuery("").executeUpdate()插入数据没反应
数据库执行增删改是开始一个事务,执行完后需要提交事务才算完成
‘陆’ 用hibernate2.1.7版本的执行createSQLQuery查询是三个参数说能告诉我一下啊。
net.sf.hibernate.Session
public Query createSQLQuery(String sql, String returnAlias, Class returnClass);
public Query createSQLQuery(String sql, String[] returnAliases, Class[] returnClasses);
第一个参数是select 语句 第二个 对查询到的数据付别名 第三个参数 ,是返回的数据的类型
一个论坛上 有讲 hibernate2.0 到 hibernate3.0的区别http://d.hatena.ne.jp/fivefourty/
‘柒’ 如何遍历由createSQLquery 进行联合查询得到的结果
需要遍历每条查询结果来进行某些操作,例如拆分查询结果的字符串就要通过循环来进行,以下给出了一种循环遍历的例子供大家参考。
假设表TblTest有两个字段:id, value, 而value的值在查到后需要拆分,如:'aa,bb,cc',就可利用以下循环来进行(拆分的例子可以参考另一篇文章:Sql Server中如何拆分字符串)。
/* tmp table that store the flag to indicate if this record is processed */
declare @TblTest_tmp table(
id decimal(18,0),
[flag] int
)
/* total count for the query result */
declare @totalcount int
declare @rownum int
select @totalcount = count(1) from TblTest
set @rownum = 1
while @rownum <= @totalcount
begin
declare @id decimal(18,0),
@value varchar(2000)
select top 1 @id=[id], @value=[value] from TblTest where flag=0
/* do sth for @value, e.g. select * from split(@value, ',') */
update @TblTest_tmp set flag = 1 where [id] = @id
set @rownum = @rownum + 1
end
‘捌’ createSQLQuery查询数据,只返回一条数据,query.list()为null,数据库有数据,这是为什么
你把sql语句放到数据库执行下 看下有多少条数据满足 是不是条件或者权限过滤过滤掉了
‘玖’ hibernate 中 createSQLQuery() 用法,我想让它返回一个book对象,怎么写语句。
看上去,你的写法应该没啥问题。
不过这个b又不是占位符,你又是单表的查询,是不是应该把b去掉啊。
SQLQuery sqlquery = s.createSQLQuery("select * from Book b where b.name = bookName").addEntity(Book.class);
参考:http://hi..com/liheng666/blog/item/6b38d3c472d271a08226aca7.html
‘拾’ JAVA中:session.createSQLQuery(sql).addEntity(entity).list();报错,在线等;
这种写法得到的字段不能命名别名,不然就这个错