簡體   English   中英

Hibernate JPA 不在類路徑上執行 import.sql

[英]Hibernate JPA not executing import.sql on classpath

我有一個 Hibernate JPA 項目,它在類路徑上有一個import.sql文件。 我已經嘗試了很多方法來讓它工作。 我的persistence.xml是:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.1"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="SNAPSHOTPU"
        transaction-type="JTA">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>java:jboss/datasources/PostgresqlDS</jta-data-source>
        <class>net.example.Actor</class>
        <exclude-unlisted-classes>true</exclude-unlisted-classes>
        <properties>
            <property name="hibernate.show_sql" value="true" />
            <property name="javax.persistence.schema-generation.database.action"
                value="drop-and-create" />
            <property name="hibernate.hbm2ddl.auto" value="create-drop" />
            <property name="hibernate.hbm2ddl.import_files" value="import.sql" />
        </properties>
    </persistence-unit>
</persistence>

我也嘗試過沒有hibernate.hbm2ddl.*東西,因為這是 JPA,但似乎都不起作用。 我的 import.sql 在src/main/resources ,這是一個 Maven 項目。

我在文件中有一個有效的 SQL 語句:

insert into actors values (1, 'Test Import.sql');

正如我看到有人建議的那樣,我什至在文件的開頭嘗試了一個空行。 我為 Hibernate 打開了調試,可以看到它在日志中運行 DDL 命令來創建表,但我沒有看到任何關於import.sql或文件中的 insert 語句的信息。

為什么這不起作用?

編輯

@Baldurian 就在下面,這是有效的(在persistence.xml 中):

<properties>
    <property name="hibernate.show_sql" value="true" />
    <property name="javax.persistence.schema-generation.database.action"
        value="drop-and-create" />
    <property name="javax.persistence.sql-load-script-source"
        value="/import.sql" />
</properties>

嘗試(相應地更改 javax.persistence.sql-load-script-source 路徑):

<properties>
    <property name="hibernate.show_sql" value="true" />
    <property name="javax.persistence.schema-generation.database.action" value="drop-and-create" />
    <property name="javax.persistence.schema-generation.create-source" value="metadata-then-script"/>
    <property name="javax.persistence.sql-load-script-source" value="/import.sql"/>
</properties>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM