设置JPA和hibernate - 架构验证:缺少表[TBL]

时间:2018-02-03 23:21:19

标签: java mysql hibernate jpa

我正在尝试使用hibernate设置JPA,并使用JBoss进行部署。我收到了这个错误:

org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [TBL]
at org.hibernate.tool.schema.internal.SchemaValidatorImpl.validateTable(SchemaValidatorImpl.java:67)
at org.hibernate.tool.schema.internal.SchemaValidatorImpl.doValidation(SchemaValidatorImpl.java:50)
at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:91)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:473)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879)

但我在数据库中有一个名为TBL的表,使用以下代码创建:

create table TBL (id int not null auto_increment primary key);

我正在使用mysql,这是我的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="unit1" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/dbname" />
      <property name="javax.persistence.jdbc.user" value="root" />
      <property name="javax.persistence.jdbc.password" value="" />
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />

      <property name="hibernate.show_sql" value="true" />
      <property name="hibernate.format_sql" value="true" />
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
      <property name="hibernate.hbm2ddl.auto" value="validate" />
    </properties>
  </persistence-unit>
</persistence>

我在pom.xml文件中有mysql-connector-java版本5.1.6。

这是该表的java类:

@Entity
@Table(name = "TBL")
public class Tbl implements Serializable {
    public enum EnumName { /*...*/ }

    // private and public static final variables

    @Id
    private Long id;

    public Tbl() {}

    // some getters
}

我错过了什么?

0 个答案:

没有答案