我准备将我的应用程序部署到生产环境,然后找到persistence.xml从create更改为update,以便数据保持不变......等待,没有persistence.xml
如何进行更改?
答案 0 :(得分:3)
Spring Roo 2.0生成Spring Boot应用程序,因此您需要使用application.properties
文件配置持久性属性。在Spring Boot应用程序中,不需要persistence.xml
文件。
默认情况下,Spring Roo shell生成的属性配置持久性以持久保存数据,而不是每次部署应用程序时都创建它。
这是使用Spring Roo命令配置持久性的示例:
jpa setup --provider HIBERNATE --database POSTGRES --databaseName myDB --userName admin --password admin --hostName localhost
<强>的src /主/资源/ application.properties 强>
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.password=admin
spring.datasource.url=jdbc\:postgresql\://localhost\:5432/myDB
spring.datasource.username=admin
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy
如果您使用上面提供的类似命令在项目中配置了持久性,那么您的application.properties
文件中应该有一个非常类似的持久性配置。但是,您说您的数据没有持久存在,因此您可能会遇到以下问题:
jpa
命令。script clinic.roo
,之后您已更新代码以生成您自己的应用程序。示例clinic.roo
文件配置HYPERSONIC_IN_MEMORY
数据库,因此您将遇到与第1点所述相同的问题。 SOLUTION :再次执行jpa
命令使用非易失性数据库配置持久性。spring.jpa.hibernate.ddl-auto
或application.properties
值在create
文件中手动设置了属性create-drop
。 解决方案:将此属性的值更改为validate
或update
值。无论如何,我建议你如果你将使用Spring Boot应用程序,请使用Spring Boot官方文档阅读有关它们的更多信息:
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
此外,最好检查您可以在application.properties
文件中配置的所有可用属性:
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#common-application-properties
希望它有所帮助,
答案 1 :(得分:0)
好的,所以我问了时间并获得了学习如何制作手表的规格,
答案很简单......
spring.jpa.hibernate.ddl-自动=更新
将其添加到application.properties。
JCG确实提供了一个提示....虽然他说我更改了设置,但它没有改变,默认是“创建”不更新。
最有用的是他与
的链接application.properties documentation
感谢。