?
企業管理及信息化解決方案;--因為專注,所以專業!
客服熱線:028-86272612
成都藍源 -> > EDP資訊 -> 詳細內容
藍源EDP2.0.1版本補丁
時間: 2012-05-26    來源:

在該補丁中,主要針對easyjweb中的一些組件的性能和使用性做出改進:

1,POLoad標簽增加延遲加載功能。EasyJweb中的@POLoad標簽默認使用getJpaTemplate().find(clz, id)獲取對象,這種策略在QueryObject中會產生很多不必要的SQL查詢。在該補丁中,為@POLoad增加了lazy屬性:

@POLoad(lazy=true)
private Client client;

保證對象的延遲加載。

2,在GenericDAO中增加了兩個方法:

    //執行原生SQL查詢,不帶分頁

    List executeNativeSQL(final String nnq,final Object[] params);

    //執行原生SQL的單結果集查詢

    Object getNativeSingleResult(String sql, Object[] params);

3,如果在使用JPA時,采用的是field的access方式,那么延遲加載在獲取id的時候也會額外的發送SQL:

   class{

    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    private Long id;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

   }

那么,即使該類是延遲加載的:

dao.getReference(clazz, id);

在調用obj.getId()的時候,仍然會發出SQL。解決的方法,1是按標準的JPA寫法,采用property access的方式,2,使用該補丁提供的org.hibernate.tuple.entity.PojoEntityTuplizer覆蓋hibernate3.5提供的。該PojoEntityTuplizer會自動的在嘗試得到IdGetter之后,采用property的方式再去得一次,避免id對應的getter方法的proxy。

 

補丁下載地址:下載

 



3.62K
上一篇:藍源EDP2.01版本更新日志
下一篇:沒有了
  现金提现的棋牌游戏 江西十一选五和值走势 公司未上市发行股票 四川快乐12今天开奖结 湖北省快3每天开奖查询 融资炒股平台 内蒙古十一选五前三组选遗漏 茶叶期货 骗局 青海快三走势图带连线 河南省11选5开奖结果 11选5任三简单算法