This is my simple code:
public static void main(String[] args) {
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("main");
EntityManager entityManager = entityManagerFactory.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
Team team1 = entityManager.find(Team.class, 0);
System.out.println(entityManager.contains(team1));
Team team2 = new Team();
System.out.println(entityManager.contains(team2));
entityManager.detach(team1);
System.out.println(entityManager.contains(team1));
entityManager.merge(team1);
System.out.println(entityManager.contains(team1));
transaction.commit();
entityManager.close();
}
The output is:
true
false
false
false
Look at the last false, it should be true because I merged that entity to the entity manager. any idea why it is giving false?