【问题标题】:JPA HIBERNATE - why does the system keep in database a column that has previously been updated in the entity beanJPA HIBERNATE - 为什么系统在数据库中保留先前已在实体 bean 中更新的列
【发布时间】:2019-02-15 11:28:33
【问题描述】:

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

我有一个实体 bean,我在其中更新了布尔类型的属性名称。我已将其名称从“考虑”更改为“可用”。我还更改了所有相关查询中的名称。

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

“org.hibernate.engine.jdbc.spi.SqlExceptionHelper: 'considered' 字段没有默认值”

(它告诉我“嘿,你还没有为“考虑”分配一个值”)。

我尝试将 HBM​​2DDL.AUTO(persistence.xml 文件中的属性)的值设置为“create-drop”来执行我的应用程序的部署(我得到了这个值,在部署应用程序时系统删除数据和架构,然后再次创建它 - 请告诉我,如果我弄错了)。我从 value="update" 开始并继续使用此设置。最后,“考虑”属性不会被删除(我希望它会被删除 - 我不再使用它!)。

因此,我无法执行 INSERT 查询,因为我试图删除一个属性 - 用另一个属性替换它 - 我不再使用它,但它在系统中仍然“活跃”。

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

谁能帮帮我? 谢谢。

【问题讨论】:

  • 欢迎来到开发人员学习、分享和建立职业生涯的地方!请在提问时更具体一点:到目前为止,您对代码示例进行了哪些尝试? (I downvoted because there is no code) / 您期望什么? / 您遇到什么错误? 请查看“How to ask”以获得帮助

标签: hibernate jpa wildfly entity-bean


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2010-10-30
    • 2020-08-05
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多