(Hibernate/JPA) EntityManager 与 c3p0 一起使用时,是否在同一事务中使用多个连接?

Does (Hibernate/JPA) EntityManager when used with c3p0, use multiple connections within the same transaction?

当将 Hibernate/JPA 与 c3p0 一起使用时,如果正在保存多个 PO,即如果记录被插入到多个表中,在同一个数据库中,在一个 (EntityManager) 事务中,休眠将使用多个连接来做这个还是简单地使用任何一个连接(来自连接池)?

事务(例如由 begin() 启动并由 javax.persistence.EntityTransactioncommit() 提交的事务)与资源池中的同一连接相关联。

例如,在 JdbcTransaction 中,begin() 将从池中检索到的连接存储到名为 managedConnection 的私有变量中。当您调用 commit() 时,它会从这个 managedConnection 调用 commit。如果在您调用 begin() 时此变量已经与连接关联,它将引发 TransactionException.