0

だから私はSpring WSでJPAとHibernateを実装する際にこの問題を抱えています。
すべてを正しく構成しましたが、チュートリアルによると動作するはずですが、動作しません。
問題は にありpersistance.xmlます。これがどのように見えるかです:

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
                http://java.sun.com/xml/ns/persistence/persistance_1_0.xsd"
            version="1.0">

    <persistence-unit name="hibernatePersistenceUnit" transaction-type="RESOURCE_LOCAL">
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="none" />
        </properties>
    </persistence-unit>
</persistence>

そして私が得ている例外:

Caused by: java.io.FileNotFoundException: class path resource [persistence_1_0.xsd] cannot be resolved to URL because it does not exist
    at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:177)
    at org.springframework.orm.jpa.PersistenceUnitReader.validateResource(PersistenceUnitReader.java:281)
    at org.springframework.orm.jpa.PersistenceUnitReader.readPersistenceUnitInfos(PersistenceUnitReader.java:108)
    ... 57 more

私はしばらくの間これに苦労しています...誰かが私が欠けているものを知っていますか?

4

2 に答える 2

1

persistence_1_0.xsd を含む適切な jar ファイルを含める必要があります。

これについては、こちらで説明しています。

xsi:schemaLocation の用途は何ですか?

于 2012-12-04T11:41:07.800 に答える
0

.xsd ファイルへの URL にタイプがありました。http://java.sun.com/xml/ns/persistence/persistence_1_0.xsdを使用してみてください。この種の問題をデバッグする良い方法は、ブラウザで URL にアクセスしてみることです。リクエストが成功すると、有効なリンクが示されます。

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
                http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
            version="1.0">

    <persistence-unit name="hibernatePersistenceUnit" transaction-type="RESOURCE_LOCAL">
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="none" />
        </properties>
    </persistence-unit>
</persistence>

プロジェクト名やプロジェクトへのパスにスペースが含まれていないことを確認してください。これにより、Hibernate エンティティ マネージャーでエラーが発生します。

于 2012-12-04T10:46:28.090 に答える