1
如果我們正在訪問JPA
或EBean
的持久對象,我們通常使用@Transactional
註釋控制器類的操作方法。問題是何時使用@Transactional註釋以及何時使用JPA.withTransaction()
(假設我們正在使用JPA進行持久化)。 這兩者有什麼區別,哪一個更好?playframework:@Transactional註釋和JPA.withTransaction()方法之間的區別
如果我們正在訪問JPA
或EBean
的持久對象,我們通常使用@Transactional
註釋控制器類的操作方法。問題是何時使用@Transactional註釋以及何時使用JPA.withTransaction()
(假設我們正在使用JPA進行持久化)。 這兩者有什麼區別,哪一個更好?playframework:@Transactional註釋和JPA.withTransaction()方法之間的區別
您可以使用JPA.withTransaction作爲塊,@Transactional用於方法或動作。
我不認爲這是一個主要區別,我正在討論的功能和架構而不是代碼塊範圍。 – gmuhammad 2012-07-23 10:15:09
正如你可以在https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/java/play/db/jpa/TransactionalAction.java看到的@Transactional用JPA包裝一個動作.withTransaction(使用默認參數)。 – rayyildiz 2012-07-23 12:00:08
是的,但有時@Transactional註釋不起作用,您必須使用'JPA.withTransaction()'。這是真的嗎? – gmuhammad 2012-08-06 16:11:18