mysql - 通过JPA向MySQL添加新列

标签 mysql jpa code-generation

我想使用 JPA 向 MySQL 表添加新列。我怎样才能实现它?

我担心的是,即使表可以更新,我如何更新实体以便该列可用于使用 JPA 进行查询?或者还有其他解决方案吗?

最佳答案

有多种方法可以实现此目的,主要是通过 persistence.xml 中的属性。一种标准方法是使用 javax.persistence.schema- Generation.scripts.create-script-source ,它可能会也可能不会在每次启动 Web 应用程序时运行,很可能会导致启动时出现异常-up 并可能破坏您的数据。

在 Hibernate 中,您可以使用 hibernate.hbm2ddl.auto更新,使其根据您的实体更新表。

http://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#configurations-hbmddl

在 EclipseLink 中有一个 eclipselink.ddl- Generation 属性。 create-or-extend-tables 设置似乎合适。

http://www.eclipse.org/eclipselink/documentation/2.4/jpa/extensions/p_ddl_generation.htm

但是,一般来说,使用 JPA 维护架构不如在更新生产服务器的 Web 应用程序时使用预先编写的脚本手动更新架构可靠。

关于mysql - 通过JPA向MySQL添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39844695/

相关文章:

MySQL CONCAT 2 行到 1 行尾随\有时

java - Web 服务和 JPA

java - 单个或多个实体管理器

java - 扩展 Axis 代码生成模块

sql-server - 为 SQL Server 表自动生成 INSERT 语句的最佳方法是什么?

MySQL 分区错误

mysql - 使用存储过程从表中插入和选择

java - JPA谓词标准构建器多对多麻烦

java - 用于代码生成java和c的抽象语言

mysql - 如何从ansible play中的shell命令中提取文件名