Hibernate 4中的新XSD架构

时间:2011-12-20 20:36:35

标签: hibernate hibernate-mapping hibernate-4.x

在Hibernate 4中,我发现(对我而言)可能使用XSD架构而不是DTD。

<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有什么问题吗?

2 个答案:

答案 0 :(得分: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"/>

试试这个,它应该会更好。

答案 1 :(得分:2)

模式位置只是地点的标识符,这个地方可以绑定到任何地方:互联网,本地驱动器。特别是这个模式(以及hibernate-configuration-4.0.xsd)放在org.hibernate包中的hibernate-core jar中。由于schemaLocation和实际位置通常是相同的,因此IDE会尝试从它指向的位置获取它,但这不是我们的情况。 您可以配置IDE以在此jar中查找此架构,以便您可以使用自动完成。如果我们谈论的是IntelliJ,那么请转到设置并配置Schema和DTD以包含所需的架构。