Java 休眠将新对象附加到会话,但不实际保存它们

Java 休眠将新对象附加到会话,但不实际保存它们,java,hibernate,session,Java,Hibernate,Session,我想获得以下功能,我不确定是否休眠 MyEntity e = new MyEntity("xxx"); Session session = sessionFactory.openSession(); MyEntity e2 = new MyEntity2(); e2.setName("This will be saved"); session.beginTransaction(); session.save(e); // Well I do not want to save bu

我想获得以下功能,我不确定是否休眠

 MyEntity e = new MyEntity("xxx"); 

 Session session = sessionFactory.openSession();
 MyEntity e2 = new MyEntity2();
 e2.setName("This will be saved");
 session.beginTransaction();
 session.save(e); // Well I do not want to save but only want to attach to session
 e.setName("yyy"); 

// I want to Use object "e" in memory only.

 session.evict(e);
 session.getTransaction().commit();
 session.close();

现在你们可以看到,我想保存一些对象,但在这种情况下,不是一个特定的对象“e”。我知道这对现有对象是可能的,但不确定是否可以对新创建的对象执行此操作。

刚刚查看了hibernate上的文档,似乎持久化就是答案()。调用save(),persist()有什么意义或者,如果您不希望该对象持久化,则可以使用任何其他方法将该对象附加到会话?我希望它在内存中持久化,但不实际保存它,因为我得到的旧应用程序会在大型事务结束时删除所有这些记录。我知道这很奇怪,但正如我所说,这是一个遗留应用程序。任何想法都是受欢迎的。在记忆中坚持并不意味着什么
newmyentity()
构造内存中的对象。您不需要Hibernate会话就可以在内存中拥有对象。是的,确实如此,但是在这段遗留代码中,我看到该对象在许多地方被使用,并通过Hibernate加载。我们可以使用threadlocal或类似的东西,或者在不更改现有代码的情况下使用hibernate来提供我们需要的东西。