使用xml进行Hibernate映射

时间:2015-06-05 14:08:23

标签: hibernate

这可能是一个非常愚蠢的问题因为我是hibernate的新手。 我正在使用hibernate.cfg.xmlEvent.hbm.xml,但在启动时会出现此错误。

  

org hibernate Mapping Exception:未知实体

hibernate.cfg.xmlEvent.hbm.xml位于同一文件夹中。

<hibernate-configuration>
<sessionfactory>
 <propertyname="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<propertyname="connection.url">jdbc:oracle:thin:@localhost:1521:XE</property>
<property name="connection.username">system</property>
 <property name="connection.password">bharat</property>
 <property name="connection.pool_size">1</property>
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>

<property name="current_session_context_class">thread</property><propertyname="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping resource="Event.hbm.xml"/>

</session-factory>

这是我的Event.hbm.xml代码:

    <hibernate-mapping>
        <class name="bharat.bisht.domain.Event" table="EVENTS">
            <id name="id" column="EVENT_ID">
                <generator class="native"></generator>
            </id>
            <property name="date" type="timestamp" column="EVENT_DATE">        </property>
            <property name="title" column="EVENT_TITLE"></property>
        </class>

Event.java

package bharat.bisht.domain;

import java.io.Serializable;
import java.util.Date;


public class Event {
private Long id;
private String title;
private Date date;

public Event() {}

public Long getId() {
    return id;
}

private void setId(Long id) {
    this.id = id;
}

public Date getDate() {
    return date;
}

public void setDate(Date date) {
    this.date = date;
}

public String getTitle() {
    return title;
}
public void setTitle(String title) {
    this.title = title;
}}

stack

2 个答案:

答案 0 :(得分:0)

我认为你的Event.hbm.xml是否在同一个文件夹上并不重要

尝试这样 -

<mapping resource="(full path)/Event.hbm.xml"/>

有时您的方言路径不支持Oracle10gDialect

尝试org.hibernate.dialect.OracleDialect

答案 1 :(得分:0)

您可以将“日期”列的名称更改为其他名称吗? date是Oracle中的保留字。