Hibernate主键设置错误造成的bug
项目最近忙于录入数据,在录入数据的过程中发现了一个问题,由于blazeds做了前后台的连接机制,在hibernate处理数据库的多关键字时采取的是增加一个字段GUID,在数据库中还是其他几个关键字作为Primary Key,GUID只是作为一个辅助的字段,在Hibernate的映射文件Hbm中需要将GUID设置为主键,而pojo也要做相应的修改,即将GUID的get函数改为几个关键字的String字符串拼凑的结果返回。
有些表设置主键出错了,只设置了单主键,在录入数据之后,查询出来的结果,出现了多个重复的记录,在前后台debug调试了半天,没有发现异常,于是我查了一下数据字典,再跟hbm文件一对照,知道是主键设置错误造成的结果,呵呵,于是修改数据库,hbm配置文件,pojo类,重新编译项目并发布,ok,一切正常。
关于解决Hibernate多主键的这个方法是以前项目经理尝试的(据他说是由于Blazeds不能使用Hibernat的多主键),不知道Hiberntae有没有更好的方法处理多主键呢,希望高手指教!