在每个重建应用程序之后创建JPA实体管理器时,我遇到了一个非常奇怪的问题。现在在应用程序中,我有来自DAO类的获取EntityManger的静态类:
import javax.persistence.EntityManager;
import play.db.jpa.JPA;
public class AppEntityManager {
private static EntityManager em = JPA.em("default");
public static EntityManager getInstance() {
return em;
}
}
我如何使用它的示例是class:
public static User getUserByUsername(String username) {
Query query = AppEntityManager.getInstance().createQuery("select u from User u where u.username = :username", User.class);
query.setParameter("username", username);
try {
return (User) query.getSingleResult();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
第一次创建与数据库的5个连接。但重新编译应用程序后,每次都在同一连接上添加。我无法理解为什么以及如何解决它。请展示如何正确使用JPA + Hibernate的示例。