JPA HIBERNATE-为什么系统在数据库中保留一列先前已在实体Bean中更新的列

时间:2019-02-15 11:28:33

标签: hibernate jpa wildfly entity-bean

我的系统仍然保留我已编辑名称的属性。

我有一个实体Bean,其中更新了boolean类型的属性名称。我已将其名称从“考虑”更改为“可用”。我还在所有涉及的查询中也更改了名称。

如果我尝试使用INSERT查询(其中以前具有“考虑”属性,现在具有“可用”-设置了正确的布尔值),则使用属性“可用”,系统将引发缺少“已考虑”的默认值的例外:

“ org.hibernate.engine.jdbc.spi.SqlExceptionHelper:“已考虑”字段没有默认值”

(它告诉我“嘿,您尚未为“考虑的”分配值”)。

我尝试将HBM2DDL.AUTO(persistence.xml文件中的属性)的值设置为“ create-drop”(使用此值,在部署应用程序时获得该值)来执行我的应用程序的部署系统会删除数据和架构,然后再次创建-请告诉我如果发现错误)。我从value =“ update”开始,并一直使用此设置。最后,“考虑的”属性不会被删除(我希望它会被删除-我不再使用它!)。

因此,由于我尝试删除的一个属性(用另一个属性替换),我无法执行INSERT查询,因为我不再使用它了,但是在系统中它仍然“有效”。

我希望我已经很好地描述了我的问题。

有人可以帮助我吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

最后我发现有一些冲突。我之前曾尝试创建一个Eclipse项目,将上面与我的应用程序相同的代码放在上面。因此,由于同事设置的Maven链接和依赖关系(我是Maven,因此我花了很多天才能解决问题),因此在部署应用程序时,try项目中的“克隆”代码也已部署。我决定删除try项目,并且不得不删除在部署过程中在WildFly独立文件夹中创建的try项目的.war / .ear文件。