使用hibernate进行插入时不是null键

时间:2013-08-21 21:46:02

标签: java hibernate

我是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”或类似的声明是预期的。如果需要,我可以给出完整的错误消息。

1 个答案:

答案 0 :(得分:0)

您需要一个ID列,以便hibernate可以识别表中的那一行。我不熟悉那个oldschool 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>

作为旁注:现在使用注释映射您的实体有点常见。使其更容易,特别是对于初学者。