hibernate的createSQLQuery與createQuery的返回陣列與物件問題
我要執行的語句是:select * from Question
HQL是這麼寫的:
Session session = getSession();
String hql="from Question";
List list = (Question)session.createQuery(hql).list();
System.out.println(list.getTitle());
測試正常
SQL寫法:
Session session=getSession();
String sql="select * from Question"
List list=(Question)session.createSQLQuery(sql).list();//會發生型別轉換錯誤,就是文章開頭的那個錯誤
原因:
HQL中
String hql="from Question";
List list = (Question)session.createQuery(hql).list();
會根據你的hql語句,自動將session.createQuery(hql).list()的返回物件以hibernate生成的Bean為物件裝入list返回
SQL中
String sql="select * from Question"
List list=(Question)session.createSQLQuery(sql).list();
則是以物件陣列進行儲存返回
一句話:HQL:返回list裝的是Bean SQL:返回物件就是一陣列,陣列在轉為Question物件時,當然會報錯。
解決方法:
第一種:直接老老實實用HQL去寫吧= =引數化就百度“Hibernate 引數繫結”就行
第二種:使用原生SQL,呼叫其中的一個方法addEntity()
String sql="select * from Question";
Query query = session.createSQLQuery(sql).addEntity(XXXXXXX.class);
List list = (Question)query;
這樣 list中也就裝的是Question這洋一個個Bean物件了,問題還是不知道如何引數化= =!
找到方法了:
Hibernate中的分頁語句可以這麼寫
session = HibernateUtils.getSession();
session.beginTransaction();
Query query = session.createQuery("from User");
query.setFirstResult(0);//從第一條記錄開始
query.setMaxResults(4);//取出四條記錄
List userList = query.list();
相關推薦
hibernate的createSQLQuery與createQuery的返回陣列與物件問題
我要執行的語句是:select * from Question HQL是這麼寫的: Session session = getSession(); String hql="from Question"; List list = (Question)session.createQuery(hql).list(
php中json_decode返回陣列或物件
轉自:http://www.3lian.com/edu/2014/02-11/128395.html 1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) jso
PHP陣列與物件之間相互轉換
/** * 陣列 轉 物件 * * @param array $arr 陣列 * @return object */ function ar
物件的列舉(2)- in與 instanceof以及區分陣列,物件的方法
2.in * __proto__ : { lastName : "deng", //__pro
java學習筆記:二維陣列與面向物件
目標: 二維陣列 面向物件程式設計 一、二維陣列 二維陣列就是一個元素為一維陣列的陣列。 格式1: 資料型別[][] 變數名 = new 資料型別[m][n]; m表示這個二維陣列有多少個一維陣列 n表示每一個數組的元素的元素個數 /*
JS中陣列與物件的遍歷方法例項
一、陣列的遍歷: 首先定義一個數組 arr=['snow','bran','king','nightking']; 1、for迴圈,需要知道陣列的長度; 2、foreach,沒有返回值,可以不知道陣列長度; arr.forEach(function(ele,index
使用sessionStorage、localStorage儲存陣列與物件
存: sessionStorage.setItem("financialList",JSON.stringify($scope.financialList)) sessionStorage.setIt
numpy之通過陣列與PIL.Image物件的互轉進行圖片處理
------------------------------------------------語法基礎------------------------------------------------ import numpy
XMLHttpRequest() 請求 返回結果JSON 物件與JSON 字串處理
好久沒有看JavaWEB專案了突然拿起來,而且是原生的專案,中JSON 字串的處理 json.stingfy() 將物件,陣列轉換為字串,json.parse() 將字串轉成json 物件 JSON.stringify(陣列或者物件) JSON.parse(字串)
從物件陣列到陣列與集合
物件陣列的概述和使用 A:案例演示 需求:我有5個學生,請把這個5個學生的資訊儲存到陣列中,並遍歷陣列,獲取得到每一個學生資訊。 * Student[] arr = new Student[
angular---angularJs1.x中select如何遍歷渲染option,陣列與物件、索引使用以及動態非同步渲染option項
1、ng-options指令用途: 在表示式中使用陣列或物件來自動生成一個select中的option列表。ng-options與ng-repeat很相似,很多時候可以用ng-repeat來代替ng-options。但是ng-options提供了一些好處,例如
[JSP]EL表示式和JSTL標籤遍歷取值物件和陣列與原來的對比
》》取出放進了request的key裡list,list含有物件 原: <%@page import="com.yiki.dbutil.*"%> <%@ page languag
陣列與物件的相互轉化
方法1 $arr = json_encode($obj); $new_arr = json_decode($arr,true); $new_arr為陣列 方法2 $obj; $pack
Intent 傳遞簡單型別, 陣列, Object物件,與ArrayList 型別資料
Android應用可以通過Intent實現元件間、程序間通訊,從而實現在它們間傳遞資料,包括簡單資料型別,類物件,泛型資料。簡單資料型別可以直接傳遞,而涉及到類物件的複雜資料型別,需要把類物件轉換為基礎的位元組陣列,如資料類實現Serializable或Parcelable
物件陣列與普通陣列的區別
public static void main(){ int[] ia = new int[10]; //在這個陣列建立的時候,陣列中元素都是0 //此時
編寫一個函式 返回陣列中最大值與最小值的差值
#include "stdAfx.h" #include "ctype.h" #include "stdlib.h" int main(void) { int sum_(int a[],int x)
JavaScript陣列與物件(1)
this並不是一個常量,它在程式的不同地方返回的值也不相同。 JavaScript對陣列初始化表示式進行求值的時候,陣列初始化表示式中的元素表示式也都會各自計算一次。 陣列直接量中的列表逗號之間的元素可以省略,這時省略的空位會填充undefined。 JavaScript求
js 陣列與物件的區別
學習javascript的時候,我曾經一度搞不清楚”陣列”(array)和”物件”(object)的根本區別在哪裡,兩者都可以用來表示資料的集合。 比如有一個數組a=[1,2,3,4],還有一個物件a={0:1,1:2,2:3,3:4},然後你執行alert(a[1]
js陣列、物件與字串互轉
JSON.stringify 函式:陣列(物件)/物件轉化為字串 語法 JSON.stringify(obj/Array [, replacer] [, space]) 示例1 此示例使用 JSON.stringify 將 contact 物件轉換為 J
磁盤陣列與磁盤配額
磁盤陣列與磁盤配額1.磁盤陣列0 #加速(同時錄入,吞吐量大,適合網頁輸出)1 #備份(同