廣告

2016年6月23日 星期四

Hibernate Eager vs Lazy Fetch Type


  @OneToOne(fetch=FetchType.EAGER) //LAZY
  @JoinColumn(name="user_profile_id")
  private Profile getUserProfile()
  {
   return userProfile;
  }

 FetchType.LAZY = Doesn’t load the relationships 
 unless explicitly “asked for” via getter
 FetchType.EAGER = Loads ALL relationships

ref:
https://m.oschina.net/blog/327056
https://howtoprogramwithjava.com/hibernate-eager-vs-lazy-fetch-type/

2016年6月8日 星期三

Hibernate paging get error result if row have same value


Query queryHot = session.createQuery(
   "from HotPost ORDER BY popularity DESC");

queryHot.setFirstResult((page - 1) * pageSize);
queryHot.setMaxResults(pageSize);

solve:
Query queryHot = session.createQuery(
   "from HotPost ORDER BY popularity DESC,id");
==================================
Before:
id   popularity 
1     9   |
2     8   |  page 1
3     8   |

5     8   |
6     7   |  page 2
7     5   |

AFTER:
id   popularity 
1     9  |
2     8  |  page 1
3     8  |

4     8  |
5     7  |  page 2
6     5  |