gpt4 book ai didi

java - 初学者 : Springs with Hibernate 4 doubts

转载 作者:行者123 更新时间:2023-12-01 14:39:19 25 4
gpt4 key购买 nike

我的 Hibernate.xml

<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<tx:annotation-driven transaction-manager="transactionManager" />

我的 Controller

    @RequestMapping("/")
public String index() {
Category category = new Category();
category.setName("Hello");
categoryDao.saveCategory(category);
return "index";
}

我的 DAO

@Transactional
public void saveCategory(Category category) {
Session session = sessionFactory.getCurrentSession();
session.save(category);
Category category2 = (Category) session.get(Category.class,
new Integer(0));

System.out.println("xxxx" + category2.getName());
}

出于测试目的,我目前跳过了 BO。不然我要去别的地方吗?我的输出应该是 xxxxParent,它是 id = 0 处的类别名称,但它显示的是从 Controller 传递的 xxxxHello。否则插入工作正常。我尝试通过 Hibernate 访问数据库的方式是否有任何错误。我的意思是使用事务注释或打开 session 。

编辑

当我删除保存新类别的代码时,会显示正确的输出。在检查控制台时,以前只有插入工作正常,但现在选择也工作。

最佳答案

我感觉代码

Category category = new Category();
category.setName("Hello");`

正在创建一个 id 为 0 的实体(如果未声明,则整数默认为 0),并且正在更新数据库中的现有实体。我没有看到你在这里明确设置 ID。请设置id并查看。

关于java - 初学者 : Springs with Hibernate 4 doubts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16147074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com