我是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”或类似的声明是预期的。如果需要,我可以给出完整的错误消息。
答案 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>
作为旁注:现在使用注释映射您的实体有点常见。使其更容易,特别是对于初学者。