hibernet的表映射

今天终于稍微搞懂了一点hibernet中,持久化类与数据库中具体表的映射关系。(此阶段完全没接触过hibernet)

项目中一直报的错误时could not resolve property:...,但奇怪的是我写的Entity和该文件夹下其他包里的Entity几乎一模一样,只是表字段不一样,为什么总是解析不了我的表字段名呢?上网查了这种错误的可能原因,一个可能是存在带“_”的字段名,以至于真正映射到表里时没有这个下划线了,另一个说是可能该字段在表里根本不存在,但不管怎么说,都要去对对映射文件,可最头疼的就是工程里死也找不着这个文件(根本就没有),根据提示的内容我猜测大概是大小写问题,于是就把hql语句中的字段名完全改成表里的字段,还是不行,然后我把自己手建的表删掉,让该EntityBean自动生成表,终于给我发现端倪了,原来这跟EntityBean中的get,set方法有很大关系,由于原来是直接拿做好的EntityBean改的,单纯的只用了新字段名去替换,而且命名规则自以为是什么驼峰命名法(哈哈,不知道是不是叫驼峰,反正是这意思),结果,导致get和set方法与自动生成的不一样(自动生成的是私有字段名的第一个字母大写,其他都保持不变),这样也就导致了我的大小写很混乱,改过来之后,发现hql中引用的字段名应该是EntityBean中的私有字段名

遗留问题:由EntityBean自动生成的表的字段名以及生成的顺序不知道是怎么个规则,因为同样风格的EntityBean生成的顺序和字段大小写都不一样

你可能感兴趣的:(net)