1. 程式人生 > >Hibernate中addEntity與Transformers.aliasToBean的區別

Hibernate中addEntity與Transformers.aliasToBean的區別

addEntity只適用於存在Person實體的,如果hibernate中沒有進行Person對映就不可行,如系統中只存在一個JavaBean,可通過下面方法:

  Java程式碼  

  1. List list = getSession().createSQLQuery("select id \"id\",name \"name\",phone \"phone\" from person")   
  2.    .addScalar("id",Hibernate.Long).addScalar("name").addScalar("phone",Hibernate.Long)   
  3.    .setResultTransformer(Transformers.aliasToBean(Person.class)));  

  那麼Hibernate就會自動將查出來的三列內容組裝到VO物件中去,只是程式碼量有點大,而且名稱都需要重新定義為小寫的(需set方法屬性一致),在Oracle中查出來的列都預設為大寫的(不知道其它資料庫怎麼樣);

    其中addScalar方法就是將實體和結果對應的,