2017-07-23 39 views
0

我正在研究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文件,但我不能得到一个线索。 那么什么是问题,我该如何解决它?

+0

什么是xxx?它是否在抱怨ExampleDS?共享错误堆栈 – Varsha

+0

我编辑过问题,但简单的'xxx'是错误堆栈中的数据库名称,'xxx'只是任何数据库的变量。它是我不想创建的第二个数据库。 – novice

回答

0

因为你已经加入此行

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

它告诉容器,在JBoss的配置文件中查找数据源或* -ds.xml

所以打开你的JBoss的独立文件,并查找代码类似这或在您的* -ds.xml

<datasource jndi-name="java:jboss/datasources/sampleDS" pool-name="sampleDS" enabled="true" use-java-context="true"> 
    <connection-url>jdbc:mysql://192.168.155.110:3306/databasename</connection-url> 
    <driver>mysql</driver> 
    <security> 
     <user-name>root</user-name> 
     <password>root</password> 
    </security> 
</datasource> 

您已经定义了数据库名称为亚特兰蒂斯

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