gpt4 book ai didi

java - 提交后 MySQL 与 Hibernate JPA 错误 id

转载 作者:行者123 更新时间:2023-11-29 21:43:49 26 4
gpt4 key购买 nike

我有这个代码:

    EntityManager entityManager = Utilities.getEntityManagerFactory().createEntityManager();
EntityTransaction entityTransaction = null;
int supplierID = -1;

try {
entityTransaction = entityManager.getTransaction();
entityTransaction.begin();
entityManager.persist(supplier);
entityTransaction.commit();
} catch (Exception e) {
if (entityTransaction.isActive())
entityTransaction.rollback();
} finally {
entityManager.close();
supplierID = supplier.getId();
}


return supplierID;

交易成功,因为最后我在表中看到了我的新条目,但返回时供应商 ID 为 0。我的代码有什么问题吗?

提前致谢!

最佳答案

你没有正确使用它,你调用了实体Supplier的方法,返回的id值为0。你需要进行另一个查询,你可以尝试这样的事情:

finally {
entityTransaction = entityManager.getTransaction();
entityTransaction.begin();
Query query = entityManager.createNamedQuery("findEmployeeByName");
supplierID = query.getFirstResult();
entityTransaction.commit();
entityManager.close();
}

您在 [1] 中有一个示例。

[1] - http://examples.javacodegeeks.com/enterprise-java/jpa/named-query-with-entity-in-jpa/

关于java - 提交后 MySQL 与 Hibernate JPA 错误 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34244404/

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