gpt4 book ai didi

java - Hibernate - 删除期间表不存在

转载 作者:行者123 更新时间:2023-11-29 21:31:12 24 4
gpt4 key购买 nike

所以我试图从数据库中删除一个 hibernate 实体,但它给我返回一个错误,说该表不存在。查找实体并保存更改或创建新实体似乎没有任何问题 - 它只在删除实体时提示。

此代码会导致错误,指出该表不存在。

try
{
Transaction txn = s.beginTransaction();
Resource r = (Resource) s.get(Resource.class, rid);
s.delete(r);
txn.commit();
}

此代码从数据库中提取实体并毫无问题地打印 ID。

try
{
Transaction txn = s.beginTransaction();
Resource r = (Resource) s.get(Resource.class, rid);
System.out.println(r.getId());
txn.commit();
}

控制台输出

Hibernate: 
select
resource0_.id as id1_1_0_,
resource0_.bookable as bookable2_1_0_,
resource0_.description as descript3_1_0_,
resource0_.name as name4_1_0_
from
resources resource0_
where
resource0_.id=?
Hibernate:
delete
from
resources_resources
where
resources_id=?
2016-02-07 02:27:13.831 WARN 8396 --- [nio-8080-exec-8] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1146, SQLState: 42S02
2016-02-07 02:27:13.831 ERROR 8396 --- [nio-8080-exec-8] o.h.engine.jdbc.spi.SqlExceptionHelper : Table 'bargaink_megtest.resources_resources' doesn't exist
2016-02-07 02:27:13.831 INFO 8396 --- [nio-8080-exec-8] o.h.e.j.b.internal.AbstractBatchImpl : HHH000010: On release of batch it still contained JDBC statements

当添加新实体和更新现有实体时可以非常清楚地看到表格时,我不知道这是怎么发生的。谁能解释一下这是怎么回事?

谢谢

最佳答案

一种可能的解释是,也许您的 hibernate.hbm2ddl.auto 设置为 create。如果是这样,请更改它。

更改:

<property name="hibernate.hbm2ddl.auto">create</property>

<property name="hibernate.hbm2ddl.auto">update</property>

在您的 hibernate.cfg.xml 文件中。

如果上述解决方案不起作用,请发布您的 hibernate.cfg.xml 文件。然后我们将更深入地研究您的代码。

关于java - Hibernate - 删除期间表不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35249084/

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