1.实体类的属性必须跟表的字段一一对应吗?还是说实体类的属性可以比数据库表的字段多或者少还是都行?
2.实体类的属性名字可以与数据库表的字段名字不一致。如果表中的字段是外键,实际用的话要用相关表的另一个字段,实体类应该怎么定义。比如我有表student 和class,student里面有个字段是classid,classid是class表的主键,我在显示的时候,可能用到的是class表里面的classname字段,这样有外键的实体类我应该怎么定义?
3.我使用hibernate的hql语句,对于2中的问题,我的hql语句应该怎么写?

解决方案 »

  1.   

    1.多少都可以的
    2.classname 也定义过来
    3.惭愧,不懂 hql ,可以到 java 区问问的;
      

  2.   

    1.多少都可以的
    2.在student中定义class这个类,get的时候建立关系,使用的时候是 student.class.classname
    3.HQL:from student  使用的时候是 student.class.classname
      

  3.   

    实体类的属性不一定跟表的字段一一对应,但是在配置文件里,要对应实体类的每个属性和表的字段;
    有外键的,多的一方用<many-to-one>,一的一方用<set>,具体用法需要楼主查一下,已经2、3年没用了。