2011-12-20 8 views
5

Hibernate 4では、DTDの代わりにXSDスキーマを使用する可能性があります。Hibernate 4の新しいXSDスキーマ

<hibernate-mapping xmlns="http://www.hibernate.org/xsd/hibernate-mapping"     
    xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-mapping hibernate-mapping-4.0.xsd" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

しかし、スキーマの場所が無効で、初期化中にエラーが発生しました。

誰かがHibernate 4でXSDに何が間違っているか知っていますか?

+0

必要な場合は、Hibernate設定ファイル用のXML Schema Definitionファイルの現在の場所を示します:http://hibernate.org/xsd/hibernate-configuration/hibernate-configuration-4.0 .xsd ** 'xsi:schemaLocation'属性の中で使うことができます。次のページには、Hibernate用の利用可能なXSDファイルへのリンクがあります(現在、そこには_one_XSDのみあります):http://hibernate.org/xsd/hibernate-configuration/。 – informatik01

答えて

2

スキーマの場所は、場所の識別子にすぎず、この場所はインターネット、ローカルドライブのどこにでもバインドできます。特にこのスキーマ(hibernate-configuration-4.0.xsd)は、org.hibernateパッケージのhibernate-core jarの中に置かれます。通常、schemaLocationと実際の場所は同じであるため、IDEはその場所からポイントを取得しようとしますが、これは私たちの場合ではありません。 このジャーナルでこのスキーマを見つけるようにIDEを設定して、オートコンプリートを使用することができます。 IntelliJについて話している場合は、設定に行き、必要なスキーマを含むようにスキーマとDTDを設定してください。

+0

ありがとうございますが、現在、xsdスキーマの使用をトリガーする問題がたくさんあります。 Hibernate Dev Teamは次のメジャーリリース5.0.0でそれらの一部を修正しますので、今はこのxsdへの移行は達成できません。 – smg

6
<hibernate-mapping xmlns="http://www.hibernate.org/xsd/hibernate-mapping" 
xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-mapping classpath://org/hibernate/hibernate-mapping-4.0.xsd" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" package="acme.foo.bar"/> 

これを試してみると、よりうまくいくはずです。

+0

これは誰のためにも機能しますか?私はそれを試して、それは動作しません... –

+0

これを行うには、IntelliJで動作します://org/hibernate/hibernate-mapping-4.0.xsd – zhy2002

関連する問題