java - 提交后hibernate对象处于什么状态?

标签 java hibernate session

浏览本教程

“一旦 session 结束,持久化对象就设置为分离对象”

我的问题是,如果您在第一次提交之后但在关闭 session 之前开始另一个事务,会发生什么情况。此时用户对象处于什么状态?

public static void main(String[] args) {
    System.out.println("Maven + Hibernate + Oracle"); 
    Session session = HibernateUtil.getSessionFactory().openSession();   
    session.beginTransaction();
    DBUser user = new DBUser(); //creating transient object
    user.setUserId(104); 
    user.setUsername("user1");
    user.setCreatedBy("system");
    user.setCreatedDate(new Date());  
    session.saveOrUpdate(user);  //Updating the transient object to persistence object
    session.getTransaction().commit(); 

    session.beginTransaction();
    user.setUsername("user2"); //what state is user object in right now?
    session.saveOrUpdate(user);
    session.getTransaction().commit();
    session.close();
}

最佳答案

实体处于托管状态。

chart

关于java - 提交后hibernate对象处于什么状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35397046/

相关文章:

java - 使用字段名称列表和相同架构构建 Avro 架构

java - Hibernate 一级和二级缓存如何与多个 session 一起工作

java - 当一个 Hibernate 实例无法到达二级缓存时会发生什么?

PHP 对象序列化和 session

java - 使用DecimalFormat(强制点)和drawString()(y似乎是错误的)

java - 我可以运行 Hadoop onflow (在应用程序运行时运行 Map Reduce)

java - 从 Java 导入到 C++ 包括

java - JPA - 加入同一张表

java - 如何正确地使 JSP session 失效?

php - 如何使用 jQuery AJAX $.post 来存储 PHP $_SESSION 变量?