将外部列添加到由JPA映射的表中会破坏正常运行吗?

Kar*_*thi 4 java jpa eclipselink

我是JPA的新手,我正在学习很多东西.我最近使用EclipseLink部署了一个应用程序作为我的JPA提供程序,它运行良好.

现在需要在其中一个映射表中添加一个额外的列.这个额外的字段用于报告目的,不会影响我的应用程序,所以我真的不想触及运行良好的东西.我当然会在适当的时候更新我的应用程序,在我的映射中包含这个字段,但我现在不想这样做.

此列添加将由DBA直接在外部完成.这个添加会破坏我的申请吗?

我认为这不应该发生,因为映射字段没有变化,并且就JPA而言,没有任何变化.JPA不会知道添加了什么,所以一切都应该工作而不会破坏.

如果我错了,请纠正我.谢谢.

Ale*_*lex 7

你可以做到这一点,没有理由它可以破坏,JPA不会强迫你将每一列映射到实体中的一个字段.除非新列是必需的(NOT NULL)并且没有默认值(例如插入时).


Jea*_*art 5

这个添加会破坏我的应用程序吗?

不,不会。

JPA 允许您仅映射您实际需要的表和字段。


Edm*_*984 5

JPA、Hibernate 或 EclipseLink 等 ORM 在幕后有什么作用?它从您的数据模型开始生成 SQL,让您以透明的方式与数据库交互。

如果您对数据库进行任何修改,而无需修改用于与其交互的 SQL(您没有添加任何约束和非空列),则不会出现任何问题。从数据库写入/读取时,您的 SQL 查询将不会使用添加的列。

相反,如果您对约束应用更改,即使不添加列,也可能使代码不再工作。