0

我是 Hibernate 的新手,正在编写一些测试程序。我想知道是否必须有一个表,其中一列将使用某种序列进行更新。

例如。我创建了一个表

create table course(course_name varchar2(20));

当我以以下方式定义 Course.hbm.xml

 <class name="Course" table="COURSE" >
<property name="course">
            <column name="course"/>
        </property>

   </class>

我在 XML 文件中收到一个错误,说需要声明“id”或类似的东西。如果需要,我可以给出整个错误消息。

4

1 回答 1

0

您需要一个 ID 列,以便 hibernate 可以识别表中的该行。我不熟悉那种老式的休眠 xml 映射,但它应该看起来大致是这样的:

create table course(id integer primary key, course_name varchar2(20));

<class name="Course" table="COURSE" >
  <id name="id">
    <!-- uses sequence, auto increment or whatever your DBMS uses for id generation -->
    <generator class="native"/> 
  </id>
  <property name="course">
    <column name="course"/>
  </property>
</class>

附带说明:如今,使用注释映射您的实体更为常见。使它更容易,特别是对于初学者。

于 2013-08-21T21:47:54.423 回答