Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Roo 2.0如何在没有persistence.xml的情况下将Hibernate从创建更改为更新_Hibernate_Spring Roo - Fatal编程技术网

Roo 2.0如何在没有persistence.xml的情况下将Hibernate从创建更改为更新

Roo 2.0如何在没有persistence.xml的情况下将Hibernate从创建更改为更新,hibernate,spring-roo,Hibernate,Spring Roo,我已经准备好将我的应用程序部署到生产环境中,并找到了persistence.xml,它将从创建更改为更新,因此数据将被持久化……等等,没有persistence.xml 如何进行更改?SpringRoo2.0生成SpringBoot应用程序,因此需要使用application.properties文件配置持久性属性。在Spring引导应用程序中,不需要persistence.xml文件 默认情况下,springrooshell生成的属性将持久性配置为持久化数据,而不是在每次部署应用程序时创建数据

我已经准备好将我的应用程序部署到生产环境中,并找到了persistence.xml,它将从创建更改为更新,因此数据将被持久化……等等,没有persistence.xml


如何进行更改?

SpringRoo2.0生成SpringBoot应用程序,因此需要使用
application.properties
文件配置持久性属性。在Spring引导应用程序中,不需要
persistence.xml
文件

默认情况下,springrooshell生成的属性将持久性配置为持久化数据,而不是在每次部署应用程序时创建数据

这是一个使用Spring Roo命令配置持久性的示例:

jpa设置--提供程序HIBERNATE--数据库POSTGRES--数据库名myDB--用户名admin--密码admin--主机名localhost

src/main/resources/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
如果您在项目中使用类似于上面提供的命令配置了持久性,那么在
应用程序.properties
文件中应该有一个非常类似的持久性配置。但是,您说您的数据没有持久化,因此您可能会遇到以下问题:

  • 您将项目配置为使用诸如HYPERSONIC_in_memory之类的内存中数据库,以便在重新启动应用程序时删除数据解决方案:更改为非易失性数据库,如Postgresql、Mysql、Oracle等。使用正确的配置再次执行
    jpa
    命令
  • 您已经执行了示例
    脚本clinic.roo
    ,然后更新代码以生成您自己的应用程序。示例
    clinic.roo
    文件配置了一个
    HYPERSONIC\u IN_MEMORY
    数据库,因此您将遇到与第1点描述的问题相同的问题解决方案:再次执行
    jpa
    命令,用非易失性数据库配置持久性
  • 您已在
    应用程序.properties
    文件中使用
    create
    create drop
    值手动配置属性
    spring.jpa.hibernate.ddl auto
    解决方案:将此属性的值更改为
    验证
    更新
  • 无论如何,我建议您,如果要使用Spring Boot应用程序,请使用Spring Boot官方文档阅读更多关于它们的信息:

    此外,检查可以在
    应用程序中配置的所有可用属性也很好。属性
    文件:


    希望有帮助,

    SpringRoo2.0生成SpringBoot应用程序,因此需要使用
    application.properties
    文件配置持久性属性。在Spring引导应用程序中,不需要
    persistence.xml
    文件

    默认情况下,springrooshell生成的属性将持久性配置为持久化数据,而不是在每次部署应用程序时创建数据

    这是一个使用Spring Roo命令配置持久性的示例:

    jpa设置--提供程序HIBERNATE--数据库POSTGRES--数据库名myDB--用户名admin--密码admin--主机名localhost

    src/main/resources/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
    
    如果您在项目中使用类似于上面提供的命令配置了持久性,那么在
    应用程序.properties
    文件中应该有一个非常类似的持久性配置。但是,您说您的数据没有持久化,因此您可能会遇到以下问题:

  • 您将项目配置为使用诸如HYPERSONIC_in_memory之类的内存中数据库,以便在重新启动应用程序时删除数据解决方案:更改为非易失性数据库,如Postgresql、Mysql、Oracle等。使用正确的配置再次执行
    jpa
    命令
  • 您已经执行了示例
    脚本clinic.roo
    ,然后更新代码以生成您自己的应用程序。示例
    clinic.roo
    文件配置了一个
    HYPERSONIC\u IN_MEMORY
    数据库,因此您将遇到与第1点描述的问题相同的问题解决方案:再次执行
    jpa
    命令,用非易失性数据库配置持久性
  • 您已在
    应用程序.properties
    文件中使用
    create
    create drop
    值手动配置属性
    spring.jpa.hibernate.ddl auto
    解决方案:将此属性的值更改为
    验证
    更新
  • 无论如何,我建议您,如果要使用Spring Boot应用程序,请使用Spring Boot官方文档阅读更多关于它们的信息:

    此外,检查可以在
    应用程序中配置的所有可用属性也很好。属性
    文件:


    希望能有所帮助,

    好的,所以我询问了时间,并得到了学习如何制作手表的规范

    答案很简单

    spring.jpa.hibernate.ddl auto=Update

    将其添加到application.properties

    JCG确实提供了一个提示……虽然他说我更改了设置,但没有更改,默认设置是“创建”而不是“更新”

    最有用的是他的链接


    谢谢。

    好的,所以我询问了时间,并得到了学习如何制作手表的说明书

    答案很简单

    spring.jpa.hibernate.ddl auto=Update

    将其添加到application.properties

    JCG确实提供了一个提示……虽然他说我更改了设置,但没有更改,默认设置是“创建”而不是“更新”

    最有用的