使用hibernate 4.x版本的hbm.xml文件出错
我正在使用maven和hibernate核心jar-4.2.5.Final开发hibernate应用程序 这是实体:使用hibernate 4.x版本的hbm.xml文件出错,hibernate,hibernate-mapping,Hibernate,Hibernate Mapping,我正在使用maven和hibernate核心jar-4.2.5.Final开发hibernate应用程序 这是实体: public class Contact { Long id; String firstName; String lastName; String email; //setters and getters } Contact.hbm.xml <?xml version='1.0' encoding='utf-8
public class Contact {
Long id;
String firstName;
String lastName;
String email;
//setters and getters
}
Contact.hbm.xml
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="org.sample.entity">
<class name="com.sample.entity.Contact" table="CONTACT">
<id name="id" type="java.lang.Long">
<column name="ID" />
<generator class="increment" />
</id>
<property name="firstName"><column name="FIRSTNAME" /></property>
<property name="lastName"><column name="LASTNAME"/></property>
<property name="email"><column name="EMAIL"/></property>
</class>
</hibernate-mapping>
当我运行此应用程序时,我遇到以下异常
Caused by: org.xml.sax.SAXParseException: The content of element type "class" must match "(meta*,subselect?,cache?,synchronize*,comment?,tuplizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,((join*,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,fetch-profile*,resultset*,(query|sql-query)*)".
任何有助于解决此问题的帮助都值得赞赏。看起来DTD验证失败,但由于
http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd
(用记事本++检查)。因此,我认为接下来的问题是:
<hibernate-mapping package="org.sample.entity">
<class name="Contact" table="CONTACT">
类名应该只包含简单的类名,而不包含包@ikvenu2000在您的示例中,它是完整的
hbm.xml
文件,还是只是其中的一部分?您可能有更多的hbm.xml
文件?
<hibernate-mapping package="org.sample.entity">
<class name="Contact" table="CONTACT">