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

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

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

    That way I want to stay

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      55 Posts :: 1 Stories :: 41 Comments :: 0 Trackbacks

    Propagation behavior:

    PROPAGATION_MANDATORY:
     Indicates that the method must run within a transaction. If no
     existing transaction is in progress, an exception will be thrown.


    PROPAGATION_NESTED:
     Indicates that the method should be run within a nested transaction
     if an existing transaction is in progress. The nested transaction
     can be committed and rolled back individually from the enclosing
     transaction. If no enclosing transaction exists, behaves like
    PROPAGATION_REQUIRED:
     Beware that vendor support for this propagation behavior is spotty at best.
     Consult the documentation for your resource  manager to determine if nested
     transactions are supported.
    PROPAGATION_NEVER:
     Indicates that the current method should not run within a transactional
     context. If there is an existing transaction in progress, an
     exception will be thrown.
    PROPAGATION_NOT_SUPPORTED:
     Indicates that the method should not run within a transaction. If an
     existing transaction is in progress, it will be suspended for the
     duration of the method. If using JTATransactionManager,
     access to TransactionManager is required.
    PROPAGATION_REQUIRED:
     Indicates that the current method must run within a transaction. If
     an existing transaction is in progress, the method will run within
     that transaction. Otherwise, a new transaction will be started.
    PROPAGATION_REQUIRES_NEW:
     Indicates that the current method must run within its own transaction.
     A new transaction is started and if an existing transaction is in
     progress, it will be suspended for the duration of the method. If
     using JTATransactionManager, access to Transaction-
     Manager is required.
    PROPAGATION_SUPPORTS:
     Indicates that the current method does not require a transactional
     context, but may run within a transaction if one is already in
     progress.


    Isolation levels:
    In a typical application, multiple transactions run concurrently, often working
    with the same data to get their job done. Concurrency, while necessary, can lead
    to the following problems:
     ■ Dirty read—Dirty reads occur when one transaction reads data that has
     been written but not yet committed by another transaction. If the
     changes are later rolled back, the data obtained by the first transaction
     will be invalid.
     ■ Nonrepeatable read—Nonrepeatable reads happen when a transaction performs
     the same query two or more times and each time the data is different.
     This is usually due to another concurrent transaction updating the
     data between the queries.
     ■ Phantom reads—Phantom reads are similar to nonrepeatable reads. These
     occur when a transaction (T1) reads several rows, then a concurrent transaction
     (T2) inserts rows. Upon subsequent queries, the first transaction
     (T1) finds additional rows that were not there before.


    Isolation level:
    ISOLATION_DEFAULT:
     Use the default isolation level of the underlying datastore.
    ISOLATION_READ_UNCOMMITTED:
     Allows you to read changes that have not yet been committed. May
     result in dirty reads, phantom reads, and nonrepeatable reads.
    ISOLATION_READ_COMMITTED:
     Allows reads from concurrent transactions that have been committed.
     Dirty reads are prevented, but phantom and nonrepeatable
     reads may still occur.
    ISOLATION_REPEATABLE_READ:
     Multiple reads of the same field will yield the same results, unless
     changed by the transaction itself. Dirty reads and nonrepeatable
     reads are prevented by phantom reads may still occur.
    ISOLATION_SERIALIZABLE:
     This fully ACID-compliant isolation level ensures that dirty reads,
     nonrepeatable reads, and phantom reads are all prevented. This is
     the slowest of all isolation levels because it is typically accomplished
     by doing full table locks on the tables involved in the transaction. 


    文章來源:http://blog.csdn.net/Wingel/archive/2006/11/26/1414826.aspx
    posted on 2006-11-29 11:21 Wingel 閱讀(217) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品二区国产综合野狼| 免费一级毛片正在播放| 国产成人精品日本亚洲网站| 日韩毛片一区视频免费| 四虎在线播放免费永久视频| 真正全免费视频a毛片| 日韩精品视频免费观看| 国产精品亚洲一区二区三区在线观看| 毛片免费在线观看网站| 亚洲AV无码专区国产乱码不卡| 国产男女猛烈无遮挡免费视频网站| 亚洲精品无播放器在线播放| 日韩免费观看视频| selaoban在线视频免费精品| 国产精品亚洲不卡一区二区三区 | 成人网站免费观看| 亚洲AV日韩综合一区尤物| 狼友av永久网站免费观看| 男女污污污超污视频免费在线看| 国产偷窥女洗浴在线观看亚洲| 在线观看免费无码视频| 亚洲精品私拍国产福利在线| 波多野结衣免费在线观看| 亚洲成AV人片高潮喷水| 久久久久亚洲爆乳少妇无| 8090在线观看免费观看| 亚洲日韩精品国产一区二区三区| www国产亚洲精品久久久| 嫩草在线视频www免费看| 亚洲中文字幕在线无码一区二区 | 7723日本高清完整版免费| 亚洲av无码成人精品区一本二本| 亚洲综合激情另类专区| 8x8x华人永久免费视频| 亚洲日韩久久综合中文字幕| 在线观看亚洲精品福利片| 久草视频在线免费看| 亚洲成av人无码亚洲成av人| 国产亚洲精品a在线观看app| 欧洲黑大粗无码免费| 一个人免费观看视频在线中文|