我在使用 Hibernate Schema Updater 时遇到问题。 Hibernate 在服务器启动时触发的语句是:
create table Match (id integer not null, guest varchar(255), home varchar(255), matchDate varchar(255), matchDay varchar(255), matchNumber varchar(255), resultPoints varchar(255), resultSets varchar(255), venue varchar(255), primary key (id))
我在命令行上尝试了该语句,但没有成功。但是,如果我将数据库名称添加到表名称前面,它就可以工作:
create table ivolley.Match (id integer not null, guest varchar(255), home varchar(255), matchDate varchar(255), matchDay varchar(255), matchNumber varchar(255), resultPoints varchar(255), resultSets varchar(255), venue varchar(255), primary key (id))
有人知道如何告诉 Hibernate 或数据库使用该前缀吗?
这是我的 persistence.xml:
<persistence version="2.1" 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">
<persistence-unit name="ivolley" transaction-type="RESOURCE_LOCAL">
<description></description>
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<non-jta-data-source>java:jboss/datasources/Volleynator</non-jta-data-source>
<class>com.chopper.ivolley.server.entities.Match</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.max_fetch_depth" value="3" />
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
</properties>
</persistence-unit>
</persistence>
谢谢艾迪
最佳答案
尝试 default_schema
设置:
<property name="hibernate.default_schema" value="ivolley" />
关于java - 使用 Hibernate Schema Updater 创建表时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27892350/