特殊 類info_text 通過搜尋id獲取物件為代理類,卻不是實體類
特殊 類InfoText 通過搜尋id獲取物件為代理類,卻不是實體類
1.InfoText 類中包含三個longtext 型別的屬性,id text text1 text2
不管是通過 query.list() 方法 還是session.get() 方法獲取的InfoText 物件都為實體類的代理物件 infotext_javassist
但是其他物件搜尋出來卻是實體類。且搜尋方式一致
如 InfoMain 物件,懷疑是longtext 型別的屬性導致,但是在InfoMain 中添加了三個類似的longtext 的屬性,依然沒有搜尋出代理物件來,說明跟大型別的屬性沒有任何關係
直接使用sql語句來搜尋的話,InfoText 是可以獲取到物件資訊的
最終找到原因為:
在InfoMain 與InfoText 實體物件做1對1關聯時,為了實現InfoText 的懶載入 添加了屬性 optional=false
@OneToOne(cascade = CascadeType.ALL,fetch=FetchType.LAZY,optional=false)
@PrimaryKeyJoinColumn
@ExcelField(title = "新聞內容", align = 2, sort = 25, fieldType = InfoTextType.class)
@NotFound(action=NotFoundAction.IGNORE)
public InfoText getInfoText() {
return infoText;
}
去掉optional=false 後正常獲取InfoText 物件。
另一點 在獲取物件InfoMain 之前 先獲取InfoText ,這時的InfoText 也是普通物件不是代理物件。
問題解決
總結:雖然在InfoMain 中設定了 InfoText 為懶載入,但是獲取InfoMain 時,就獲取了 InfoText 的代理物件,此時的代理物件應該是存到session中了,
導致無論用什麼方式再去獲取InfoText 都獲取了該代理物件
如下:
[email protected]
[email protected]
id都是一樣的,所以一直獲取的都是該代理物件.
相關推薦
特殊 類info_text 通過搜尋id獲取物件為代理類,卻不是實體類
特殊 類InfoText 通過搜尋id獲取物件為代理類,卻不是實體類 1.InfoText 類中包含三個longtext 型別的屬性,id text text1 text2 不管是通過 query.list() 方法 還是session.get() 方法獲取的InfoTe
同一域名下不同path下通過js中獲取域名下的cookie,拿不到cookie值
在前端開發過程中通過js設定/獲取cookie,有時候會碰到這個問題 域名:abc.com 通過以下程式碼設定cookie var date=new Date(); //獲取當前時間 var expiresDays=time; //將date設定為n天以後的時間 da
Activiti 通過任務id獲取當前流程節點的資訊
/** * 查詢當前流程圖 www.fhadmin.org * @param taskId * @param response * @return * @throws Exception */ @Reques
通過對映id獲取view,resource資源
package utils; import android.content.Context; public class ResourceUtil { public static int getLayoutId(Context paramContext, St
VC 通過程序ID獲取完整路徑
BOOL GetProcessPathByPId( const DWORD dwProcessId, TCHAR *cstrPath ) { HANDLE hProcess = NULL; BOOL bSuccess = FALSE;
通過js來獲取select的全部值,包括id,text,value
<html> <head> <title></title> <script type=text/javascript> function getselect(n){ var v = ''; var t = ''; for(var i = 0; i &
通過java反射獲取物件的欄位名和欄位值
直接上Demo: package aaa; import java.lang.reflect.Field; public class test { public static void main(String[] args) throws Exception{ a
odoo8 or openerp 通過xml id獲取資料庫id
The ir.model.data model also has a get_object() method returning a browsable record given a model n
Java 通過反射來獲取物件的成員變數和其值的例子
/** * @author peter * 2018/9/4 19:04 */ public class Reflect { private String name; private int age; private String
C++中如何獲取物件的名字(變數名,注意不是類名)
比如:class A{}; int main(){ A newA,newB; newA.print(); } 我怎麼才能讓newA.print()輸出“newA”? 不希望用A newA("newA");這樣累贅的語句。
Eclipse下把jar包放到工程lib下和通過buildpath加載有什麽不同(解決找不到類的中級方法)
導入 alt 我們 AI cli 註意 需要 分享圖片 eclips 我通過Eclipse的 User Libranry 將jar導入 Eclipse裏面,編譯沒有問題,運行的時候就報class文件沒有定義,後來上網上查了下,原因找到啦,是這樣的: 用Java Build
通過後臺SQL獲取分頁數據,在使用VUE-Element-Table 表格選擇多行數據時,怎樣在
each onchange ati page tor emp 使用 返回上一頁 The 在項目中,分頁是由後臺SQL獲取。在table表格多選時,容易把選中的值傳給後臺,但是怎樣在返回上一頁時怎樣記住表格多選的數據?? 當返回第二頁時,應該把第一條數據再選中
給Python中通過urllib2.urlopen獲取網頁的過程中,新增gzip的壓縮與解壓縮支援
之前已經實現了用Python獲取網頁的內容,相關已實現程式碼為: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
當Json數據中的key為Java關鍵字時,在定義實體類的時候不能對該字段進行聲明,所以需要對字段進行特殊處理
數據 prop str abstract prope 需要 jackson string 解析 使用Gson解析 在與Java關鍵字沖突的字段加上@SerializedName註解 @SerializedName("abstract") private Strin
Android中通過Exif-ExifInterface獲取圖片的相關資訊,並且在圖片上新增獲取到的資訊將圖片展示出來
1、Exif-ExifInterface簡介 Exif是一種影象檔案格式,它的資料儲存與JPEG格式是完全相同的。實際上Exif格式就是在JPEG格式頭部插入了數碼照片的資訊,包括拍攝時的光圈、快門、白平衡、ISO、焦距、日期時間等各種和拍攝條件以及相機品牌、
Java 物件流的用法,將自定義類陣列寫入檔案中
FileInputStream和FileOutputStream可以將類,陣列,等寫入如檔案並讀取。 public class UserList implements Serializable{
Qt線上程中使用QAxObject,獲取物件為空問題
// 初始化QAxObject HRESULT r = OleInitialize(0); CoInitialize(0); if (r != S_OK && r != S_FALSE
android防止資料被釋放獲取物件為空的幾點措施
1.將大多數的context使用你的application替代 public class MyApplication extends Application{ private static MyApplication app; @Overr
反射+列舉+freemarker,自動生成實體類,自動建表建索引(二)之建表建索引,註解和DatabaseMetaData 獲取資訊
package com.test.common; import static com.test.common.EntityConfigData.DEFAULTS; import static com.test.common.EntityConfigData.INDEX; import static com.
通過SSH key獲取GitHub上項目,導入到IDEA中
pre down str 一個 bsp 命令 ima clone 個人信息 1.在Windows上安裝Git 在Windows上使用Git,可以從Git官網直接下載安裝程序,然後按默認選項安裝即可 安裝完成後,在開始菜單裏找到“Git”->