Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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
连接到mySQL、JPA、Java EE&;JBoss_Java_Mysql_Hibernate_Jpa_Java Ee 6 - Fatal编程技术网

连接到mySQL、JPA、Java EE&;JBoss

连接到mySQL、JPA、Java EE&;JBoss,java,mysql,hibernate,jpa,java-ee-6,Java,Mysql,Hibernate,Jpa,Java Ee 6,我试图使用JPA和hibernate实现连接到mySQL数据库,但它不会在数据库中创建表,即使在日志中它似乎正在创建表。 这是我的pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/

我试图使用JPA和hibernate实现连接到mySQL数据库,但它不会在数据库中创建表,即使在日志中它似乎正在创建表。 这是我的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>academy.learnprogrammin</groupId>
<artifactId>hello-javaee8</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>8.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.wildfly</groupId>
        <artifactId>wildfly-ejb-client-bom</artifactId>
        <type>pom</type>
        <version>9.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.1-api</artifactId>
        <version>1.0.0.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>4.3.5.Final</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.23</version>
    </dependency>
</dependencies>
<build>
    <finalName>hello-javaee8</finalName>
    <plugins>
        <!-- The WildFly plug-in deploys the WAR to a local JBoss EAP container -->
        <!-- To use, run: mvn package wildfly:deploy -->
        <plugin>
            <groupId>org.wildfly.plugins</groupId>
            <artifactId>wildfly-maven-plugin</artifactId>
            <version>1.0.2.Final</version>
        </plugin>
    </plugins>
</build>
<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
这是我的项目结构:

这是服务器控制台,它记录了创建
学生\u数据
表的过程:

12:02:13,074 INFO  [stdout] (ServerService Thread Pool -- 205) Hibernate: create table students_data (id bigint not null auto_increment, name varchar(255), primary key (id)) engine=InnoDB
我正在使用wildfly mvn插件部署到JBoss EAP 7.0


还有另一个奇怪的行为,我将数据库凭据更改为错误的内容(错误的用户名、密码),但没有给出错误,日志仍然显示表已创建。

根据我在不同时间的经验,我提出了几点建议

  • 不完全确定内部结构,但有时根据配置的设置,属性标记的长形式和短形式会造成一些混乱
  • 
    
    致:

    创建
    
  • 有了这个属性,它有时会工作

     <property name="javax.persistence.schema-generation.database.action" value="drop-and-create" />
    
    
    
  • 将值用作

    a) 创建:提供者将在应用程序部署时创建数据库工件。应用程序重新部署后,工件将保持不变

    b) 删除并创建:数据库中的任何工件都将被删除,提供者将在部署时创建数据库工件


    更多详细信息:

    添加学生实体代码。@Alien,我已经添加了它。
    12:02:13,074 INFO  [stdout] (ServerService Thread Pool -- 205) Hibernate: create table students_data (id bigint not null auto_increment, name varchar(255), primary key (id)) engine=InnoDB
    
        <property name="hibernate.hbm2ddl.auto" value="create"/>
    
         <property name="hibernate.hbm2ddl.auto">create</property>
    
     <property name="javax.persistence.schema-generation.database.action" value="drop-and-create" />