Java Wildfly Greeter快速启动项目

Java Wildfly Greeter快速启动项目,java,hibernate,jpa,wildfly-8,Java,Hibernate,Jpa,Wildfly 8,'greeter'是WildFly 8中的一个快速启动项目,作为教程演示基本的hibernate数据库和JPA功能。在这个项目中,我不理解在H2数据库中何时以及如何创建“用户”数据库。以下是用于创建和设置数据库的两个相关文件: META-INF/persistence.xml java:jboss/datasources/GreeterQuickStarts WEB-INF/greeter-quickstart-ds.xml jdbc:h2:mem:greeterquickstart;DB

'greeter'
WildFly 8中的一个快速启动项目,作为教程演示基本的hibernate数据库和JPA功能。在这个项目中,我不理解在H2数据库中何时以及如何创建“用户”数据库。以下是用于创建和设置数据库的两个相关文件:

  • META-INF/persistence.xml
  • 
    java:jboss/datasources/GreeterQuickStarts
    
  • WEB-INF/greeter-quickstart-ds.xml
  • 
    jdbc:h2:mem:greeterquickstart;DB_关闭_上的_退出=错误;DB_关闭_延迟=-1
    氢
    sa
    sa
    
  • /wildfly greeter/src/main/resources/import.sql

    将值(-1,'jdoe','John','Doe')插入到用户(ID,USERNAME,FIRSTNAME,LASTNAME)中

    将值(-2,'emuster','Erika','Mustermann')插入到用户(ID,USERNAME,FIRSTNAME,LASTNAME)中


  • 默认情况下,H2数据库系统不附带演示使用的用户数据库。那么“用户”是如何在这个演示项目中创建的呢?谢谢。

    由于
    persistence.xml
    中的以下设置,运行项目时会自动创建用户数据库:

    <property name="hibernate.hbm2ddl.auto" value="create-drop" />
    

    数据库在部署时由Hibernate设置。为了构建数据库模式,Hibernate扫描所有相关的文件,不仅是XML文件,还包括类,以获取它所需要的信息,这就是表用户的来源

    以下是负责
    用户表的
    问候者
    快速启动示例中的确切代码:

    @Entity
    // User is a keyword in some SQL dialects!
    @Table(name="Users")
    public class User {
    ... etc.
    

    所以,就是这样,他们只是用复数“s”来称呼它用户,以避免与您选择的DBMS发生冲突。

    但是没有提到“用户”?是因为hibernate自动创建了这个吗?默认情况下,是否也使用此属性规范创建其他数据库?此设置将创建由应用程序中的实体类(包括用户)表示的所有表。
    <property name="hibernate.hbm2ddl.auto" value="create-drop" />
    
    @Entity
    // User is a keyword in some SQL dialects!
    @Table(name="Users")
    public class User {
    ... etc.