<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 28,comments - 3,trackbacks - 0
    來自:http://www.matrix.org.cn/blog/liu2liu2

    JDO的優點

    ● JDO的生命周期狀態機(lifecycle state machine)是正確的用法。任何其它的O/R映射工具都應該使用JDO的生命周期或者它的子集(例如:如果不支持事務)。記住,JDO生命周期是為JDO實現服務的。大部分用戶不需要了解其中很復雜的內幕。網頁Amber生命周期中有些圖示。

    ● PersistentManager API對如何管理JDO對象的狀態有一定的優勢和價值。

    JDO的缺點

    ● 查詢(query)支持不完全。它應該使用類似Hibernate的HSQL查詢語言,并使用java.sql.ResultSet作為查詢結果。

    ● 用于重載方法的字段擴展讓人覺得比較混亂。最好使用類似Hibernate或者EJB/CMP的方法,并重載它們。

    Hibernate的優點

    ● 有著正確的數據模型。以POJO為基礎的模型是個正確的方向。

    ● 可配置性(例如對象之間的關系)是個很好的基礎。

    ● HSQL正是O/R映射語言應該有的。

    ● 有著完整的API

    ● 采用簡明的Session類作為控制流的清洗器,因為它沿用了Connection的模型

    Hibernate的缺點

    ● 沒有使用JDO生命周期,這是不正確的做法。

    ● API(例如查詢)還是有點混亂。It's better than the alternative, but using java.sql.ResultSet as the foundation would clean it up.

    ● API如果作為一個規范的話,還是不夠干凈。例如,在使用查詢參數(query parameters)時,存在一些應用漏洞。

    ● 我不認為使用類名作為表的標識是件好事。

    EJB/CMP的優點

    ● 采用工廠類(指Home)查找實例比向Session/Connection對象傳遞參數獲取實例要好。

    ● ejbSelect跟上面說的類似。

    ● 查詢名稱使用abstract schma是一個很好的解決方案。

    ● 理論上來說,這種模式在某些方案中可以有更好的復用性。

    EJB/CMP的缺點

    ● CMP不屬于EJB規范。它并不是個合適的模型去實現這個目的。已經沒有合適的(例如非官方)借口去讓EJB3.0中保留CMP。

    Amber優點

    ● 使用JDBC ResultSet和PreparedStatement做查詢

    出于某些原因,O/R映射工具通常拋棄強大的ResultSet和PreparedStatement API,而創建自己一套并不是很合適的替代品。O/R查詢器應該使用一個外部的SQL(例如HSQL)作為查詢語言,并使用ResultSet作為結果集,使用PreparedStatement處理查詢參數??梢栽黾悠渌腁PI作為查詢子集,就像查詢一個單獨的實體,但應該使用ResultSet和PreparedStatement作為基礎。

    Amber缺點

    ● Amber的研究價值遠大于它的使用價值

    原文內容
    JDO pros:
    The JDO lifecycle state machine is the correct one. Any serious O/R mapper needs to use the JDO lifecycle or a subset (e.g. if transactions aren't supported.) Remember, the JDO lifecycle is for JDO implementors. Most users don't need to see the gory details. The Amber lifecycle page has some diagrams.
    The PersistentManager API has some positives, valuable for managing the state of JDO objects.
    JDO cons:
    The query support is completely inadequate. It should use something like Hibernate's HSQL, and should use java.sql.ResultSet as the query result.
    The promotion of fields to overloaded methods is messy. It's better to start with methods like Hibernate or EJB/CMP and overload them.
    Hibernate pros:
    The data model is correct. The POJO model using methods as the basis is the right way to go.
    The configuration, esp for relations is a good basis.
    HSQL is just about what an O/R map language should be.
    The API is adequate.
    The explicit Session makes the control flow cleaner, since it follows the Connection model.
    Hibernate cons:
    It doesn't use the JDO lifecycle model. This is incorrect.
    The API, esp the query, is still a bit messy. It's better than the alternative, but using java.sql.ResultSet as the foundation would clean it up.
    The API isn't clean enough for a spec, i.e. it has a number of implementation hacks, esp with the query parameters.
    I'm not convinced using the class name as the table identifier is a good thing.
    EJB/CMP pros:
    The factory (home) classes are nice for finding instances rather than passing extra parameters to a Session/Connection object.
    The ejbSelect is similarly
    Using the abstract schema for the query names is a good solution
    In theory, the model can allow for efficient object reuse in some cases
    EJB/CMP cons:
    CMP does not belong in the EJB spec. It's been contorted to follow a model that's not appropriate for the task. There's no valid, i.e. non-political, excuse for keeping CMP in EJB 3.0.
    Amber pros:
    Using the JDBC ResultSet and PreparedStatement for queries.
    For some reason O/R mappers generally throw out the powerful ResultSet and PreparedStatement API and create their own hacked up and inadequate replacements. O/R queries should use an extended SQL like HSQL as the query language and use ResultSet for results and PreparedStatement for query parameters. Other specialized APIs can be added for particular subsets, like quering a single entity, but the foundation should be ResultSet and PreparedStatement.

    Amber cons:

    Amber is an experiment rather than an actual competing API.
    posted on 2006-02-21 16:51 李大嘴 閱讀(331) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久影院亚洲一区| 女人张开腿等男人桶免费视频| 亚洲av片一区二区三区| 亚洲国产日韩综合久久精品| 色妞WWW精品免费视频| 亚洲18在线天美| 午夜时刻免费入口| 在线观看国产一区亚洲bd| 国产免费AV片无码永久免费| 美女露隐私全部免费直播| 亚洲JIZZJIZZ中国少妇中文| 一级做a爰性色毛片免费| 亚洲日韩精品一区二区三区| 99久久精品免费精品国产| 亚洲综合久久1区2区3区| 毛片免费观看的视频在线| 亚洲日韩国产欧美一区二区三区| 日本无卡码免费一区二区三区| 免费国产黄网站在线观看动图| 亚洲七七久久精品中文国产| 成人免费av一区二区三区| 亚洲一区影音先锋色资源| 免费视频专区一国产盗摄| 亚洲日韩一区二区三区| 亚洲国产午夜福利在线播放| 国产精品偷伦视频观看免费 | 国产免费高清69式视频在线观看 | 亚洲人成电影在线观看网| 成人激情免费视频| 亚洲第一视频在线观看免费| 久久久久亚洲AV无码专区体验| 四虎最新永久免费视频| 精品亚洲视频在线| 亚洲精品无码成人片久久| 国产成人福利免费视频| 少妇亚洲免费精品| 亚洲精品视频久久| 免费国产在线观看不卡| 人妻丰满熟妇无码区免费| 亚洲欧美黑人猛交群| 亚洲AV无码乱码在线观看裸奔|