" unknow database"即使我已正确创建数据库

时间:2017-07-23 10:14:01

标签: java hibernate jpa jboss wildfly-10

我正在研究java Web应用程序。我正在使用jboss wildfly 10.x服务器,并使用hibernate进行持久化。问题是,当我启动服务器时,它说有unknow database "DATABASE"我没有创建,并且没有在任何地方给出DATABASE的名称,但如果我创建DATABASE它可以工作并填充我正确的数据库。

这是我的* -ds.xml:

<datasources>
    <datasource jndi-name="java:jboss/datasources/atlantisDS"
        pool-name="atlantisPool">
        <connection-url>jdbc:mysql://localhost/atlantis?characterEncoding=UTF8
        </connection-url>
        <driver>mysql</driver>
        <pool>
            <min-pool-size>1</min-pool-size>
            <max-pool-size>5</max-pool-size>
            <prefill>true</prefill>
        </pool>
        <security>
            <user-name>were</user-name>
            <password>142536</password>
        </security>
    </datasource>
</datasources>

这里是persistence.xml:

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
         http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
    <persistence-unit name="atlantisPU" transaction-type="JTA">        
   <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <jta-data-source>java:jboss/datasources/atlantisDS</jta-data-source>
        <properties>
           <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
           <property name="hibernate.hbm2ddl.auto" value="update" />
        </properties>
    </persistence-unit>
</persistence>

我已查找DATABASE每个*.xml个文件,但我无法得到线索。 那么问题是什么,我该如何解决?

1 个答案:

答案 0 :(得分:0)

因为您已添加此行

{
  "customers": [
    {
      "first_name": "John",
      "last_name": "Doe",
      "account": "123456",
      "period": "13th July - 13th August",
      "due_date": "14th September",
      "amounts": [
        ["January 2017", 121.23],
        ["February 2017", 145.23],
        ["March 2017", 55.12],
        ["April 2017", 78.58],
        ["May 2017", 89.13],
        ["June 2017", 45.78],
        ["July 2017", 90.22]
      ]
    }
  ]
}

它告诉容器在jboss配置文件或* -ds.xml

中查找数据源

这样打开你的jboss的独立文件,找一下这样的代码,或者在你的* -ds.xml中找到代码

<jta-data-source>java:jboss/datasources/atlantisDS</jta-data-source>

您已将数据库名称定义为 atlantis

数据库必须存在于Mysql中 是否自动创建表是可选的