专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Eclipse

hibernate实体类配置文件,该怎么处理

发布时间:2010-06-05 15:34:22 文章来源:www.iduyao.cn 采编人员:星星草
hibernate实体类配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="inherit_tph">
<class name="Computer" table="computer_tph">
<id name="id" column="id" type="integer">
<generator class="native"/>
</id>
<property name="manufactory" column="manufactory" type="string"/>
<property name="price" column="price" type="double"/>
<discriminator column="catagory" type="character"/>
<subclass name="Notepad" discriminator-value="n">
<property name="weight" column="weight" type="double"/>
<property name="thickness" column="thickness" type="double"/>
</subclass>
<subclass name="Desktop" discriminator-value="d">
<property name="LCD" column="islcd" type="yes_no"/>
</subclass>
</class>
</hibernate-mapping>

Could not parse mapping document from resource inherit_tph/computer.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:616)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1635)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1603)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1582)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1556)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1476)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
at util.HibernateUtil.<clinit>(HibernateUtil.java:13)
at inherit_tph.ComputerService.find(ComputerService.java:117)
at inherit_tph.Test.main(Test.java:47)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from invalid mapping
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:549)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:613)
... 9 more
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*,resultset*,(query|sql-query)*)".

上面提示class不匹配,但是我实在找不出哪里出问题了,各位帮忙看看!

------解决方案--------------------
将Computer变成非抽象类进行映射,类代码如下
Java code
public class Computer {
    private int id;
    private double price;
    private String manufactory;
    
    //需要空的构造函数
    public Computer(){}
    
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getManufactory() {
        return manufactory;
    }

    public void setManufactory(String manufactory) {
        this.manufactory = manufactory;
    }
    
    
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: