我有一個問題在春天與自動裝配與原型的範圍的豆.. 所以基本上我正在寫一個代碼是彈簧與JPA.So我autowiring我的實體經理在我的DAO層。我正在使用@configuraion Annotation加載一個類的entitymanager。春天的自動裝配與原型的豆範圍
@Configuration
public class DALConfigurationLoader {
@Bean
@Scope("prototype")
public EntityManager getEntityManager() {
}
當我這樣做,我期待每一個請求它應該得到一個新的bean。
@Component
public class OfferPriceDomainDAOImpl {
@Autowired
private EntityManager entityManager;
public OfferPrice getOfferPrice(String offer_Price_Id) throws DataAccessException{
//use entitymanager here
}
}
在這種情況下,它是所有請求的單一實體管理器,它是wrong.i希望每個方法應根據JPA規範得到一個新的實體管理器。隨着每一個新的請求應該處理新的實體管理器...我怎麼能自動裝配與原型的範圍豆..
我真的很感激,如果有人能回答我的問題..
感謝, 姆斯瓦蒂
我不能使用@PersistenceContet結合的方式,我們創建實體管理我的不同。這是我們種按照我公司的規則...的Dbonfigloader一些事情,我們加載實體管理器,它自動裝配到DAO層.... DAO lyer對象在bizz層自動裝配...所以創建了dao的singelton對象..我只想要一個具有多個實體管理器的dao對象... – swati 2013-02-14 06:09:01
所以基本上有多少次我稱之爲方法在道(這是singelton)多次實體經理必須創建..這是我的目標... – swati 2013-02-14 06:10:03
如果你只是「種」遵守規則,那麼我建議這是打破它的時間。這是'@ PersistenceContext'存在的一個確切問題,它可以非常好地完成並且只需很少的工作。否則,就我所知,管理EntityManager生命週期完全取決於您。做這件事的難辦法是將你的DAO注入一個EntityManager工廠,然後爲每個方法調用打開/關閉一個EntityManager。如果您使用的是Spring,我不知道這將如何處理Spring的事務管理。 – 2013-02-14 06:41:00