我最近开始在GoogleAppEngine上使用JPA。在阅读一些示例时,我注意到对象的持久化方式存在一些变化。在一种情况下,我见过这样的事情:entityManager.getTransaction().begin();entityManager.persist(object);entityManager.getTransaction().commit();在其他情况下,我看不到getTransaction()的使用。我只是看到entityManager.persist(object)。什么时候适合使用getTransaction()? 最佳答案
我最近开始在GoogleAppEngine上使用JPA。在阅读一些示例时,我注意到对象的持久化方式存在一些变化。在一种情况下,我见过这样的事情:entityManager.getTransaction().begin();entityManager.persist(object);entityManager.getTransaction().commit();在其他情况下,我看不到getTransaction()的使用。我只是看到entityManager.persist(object)。什么时候适合使用getTransaction()? 最佳答案
我在EJB3无状态sessionbean中使用CMT。我还创建了自己的异常,带有注释“@ApplicationException(rollback=true)”。当我想回滚事务时,是否必须使用“context.setRollbackOnly()”?我可以通过在bean的公共(public)方法中抛出异常来回滚事务吗?如果是这样(Q#2的答案是肯定的)我是否必须通过在方法中声明异常来将异常从方法中抛出,或者只在方法中抛出异常就足够了?在同一方法本身内处理它?(我不想将异常传播到下一个级别。我只想回滚异常。)提前致谢。;) 最佳答案 首
我在EJB3无状态sessionbean中使用CMT。我还创建了自己的异常,带有注释“@ApplicationException(rollback=true)”。当我想回滚事务时,是否必须使用“context.setRollbackOnly()”?我可以通过在bean的公共(public)方法中抛出异常来回滚事务吗?如果是这样(Q#2的答案是肯定的)我是否必须通过在方法中声明异常来将异常从方法中抛出,或者只在方法中抛出异常就足够了?在同一方法本身内处理它?(我不想将异常传播到下一个级别。我只想回滚异常。)提前致谢。;) 最佳答案 首
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion我是JTA的新手,它是底层事务管理器。任何人都可以解释每一个的优点/缺点吗?随意添加我未在标题中列出的其他内容。另外,主要的应用服务器(WebSphere、JBoss、Glassfish)难道没有自己的符合JTA的事务管理器吗?在那些环境中,您还会使用这些第三方实现吗? 最佳答案 IamnewtoJTAandit'sunderlying
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion我是JTA的新手,它是底层事务管理器。任何人都可以解释每一个的优点/缺点吗?随意添加我未在标题中列出的其他内容。另外,主要的应用服务器(WebSphere、JBoss、Glassfish)难道没有自己的符合JTA的事务管理器吗?在那些环境中,您还会使用这些第三方实现吗? 最佳答案 IamnewtoJTAandit'sunderlying
Connection.setTransactionIsolation(int)警告:Note:Ifthismethodiscalledduringatransaction,theresultisimplementation-defined.这就引出了一个问题:如何在JDBC中开始一个事务?很清楚如何结束一个事务,但不知道如何开始。如果Connection在事务内部开始,我们应该如何在事务外部调用Connection.setTransactionIsolation(int)以避免特定于实现的行为? 最佳答案 回答我自己的问题:JDBC
Connection.setTransactionIsolation(int)警告:Note:Ifthismethodiscalledduringatransaction,theresultisimplementation-defined.这就引出了一个问题:如何在JDBC中开始一个事务?很清楚如何结束一个事务,但不知道如何开始。如果Connection在事务内部开始,我们应该如何在事务外部调用Connection.setTransactionIsolation(int)以避免特定于实现的行为? 最佳答案 回答我自己的问题:JDBC
我想知道用它代替是否有意义@Transactional(propagation=Propagation.REQUIRED,rollbackFor=Exception.class)使用Throwable@Transactional(propagation=Propagation.REQUIRED,rollbackFor=Throwable.class)据我了解,捕捉Error将帮助我们正确行事,即使发生了非常糟糕的事情。或者可能没有帮助? 最佳答案 AsIunderstandcatchingErrorwillhelpusbehavec
我想知道用它代替是否有意义@Transactional(propagation=Propagation.REQUIRED,rollbackFor=Exception.class)使用Throwable@Transactional(propagation=Propagation.REQUIRED,rollbackFor=Throwable.class)据我了解,捕捉Error将帮助我们正确行事,即使发生了非常糟糕的事情。或者可能没有帮助? 最佳答案 AsIunderstandcatchingErrorwillhelpusbehavec