一千萬個為什麽

搜索

Hibernate在運行時更改獲取模式

I have two tables related together using one-to-many relation : employee -> department : and relation through department_id in the employee table.

我使用hibernate:和我的hibernate映射文件是:

<?xml version="1.0" encoding="utf-8"?>

<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->

 
  
   
   
  
  
   
  
  
   
  
  
   
  
  
   
  
  
   
  
 

第二個映射文件是:

<?xml version="1.0" encoding="utf-8"?>

<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->

 
  
   
   
  
  
   
  
  
   
    
   
   
  
 

我的問題是:有時我需要讓員工和他的部門一起工作,其他時間我只需要員工信息和部門信息.....以及與員工部門同樣的事情....使用上面的映射文件如果我需要員工,休眠會帶來部門和用戶...如何定義我的需求來休眠以獲取我需要的內容...

謝謝

最佳答案

您可以將關系映射為“懶惰”並編寫兩個查詢來獲取數據:

  • 通常的簡單查詢來獲取您的數據(“懶惰”)。例如。 “從雇員e選擇e ......”

  • 使用“fetch join”強制Hibernate獲取“孩子”的相同查詢。例如。 “從雇員左加入獲取e.department中選擇e ...”

LLP,Andrea

轉載註明原文: Hibernate在運行時更改獲取模式