-1
我無法將我的實體數據保存到數據庫中而沒有發生事務。 我知道PersistenceContextType.Extend,但我不能成功。 請給我一些幫助。playframework1.2.3將數據保存到數據庫中而不發生任何事務
@NoTransaction 公共類應用擴展控制器{
public static void create(String body) {
// EntityTransaction tm = JPA.em().getTransaction();
if (!JPA.isEnabled()) {
System.out.println("JPA is not initialized");
}
EntityManager manager = JPA.entityManagerFactory.createEntityManager();
//manager.setFlushMode(FlushModeType.COMMIT);
manager.setProperty("org.hibernate.readOnly", false);
//new Customer("001").save();
if (!JPA.isInsideTransaction()) {
// manager.getTransaction().begin();
}
createContext(manager, false);
new Customer("001").save();
//manager.getTransaction().commit();
/*
* if (tm.equals(null)) { System.out.println("success"); }
*/
}
static void createContext(EntityManager entityManager, boolean readonly) {
if (JPA.local.get() != null) {
try {
JPA.local.get().entityManager.close();
} catch (Exception e) {
// Let's it fail
}
JPA.local.remove();
}
JPA context = new JPA();
context.entityManager = entityManager;
// context.readonly = readonly;
JPA.local.set(context);
}
}
我草簽了JPA由我自己來防止遊戲從開始trasaction。 我想將我的數據保存到數據庫中,但我得到一個TransactionRequiredException錯誤。 我知道JPA操作需要一個trasaction,但我想知道是否有例外。
請提供代碼樣本和背景。 – emt14
Play將爲您管理交易。每個Controller方法將在離開該方法後輸入並提交時啓動事務。 – evandongen