配置一个表的hbm文件,麻烦的是这个表没有Primary Key。今天在hibermate.org.cn找到解决方法,明天再去实践 :)
主键是必须有的,要么是单字段的id,要么是组合的composite-id,这一点可以从hibernate-mapping-2.0.dtd的第37行看的出来。还有参考手册的4.1.4节也说:“Mapped classes must declare the primary key column of the database table.”想象一下,没有主键,session如何load一个class呢?
id应该是必须有的,但id不一定要对应数据库表的主键,只要能唯一标识一条纪录就行。如果你的表没有主键,那你可以选取若干个column作为composite-id(大不了用所有的column),但很可能会带来很多不便。
配置一个表的hbm文件,麻烦的是这个表没有Primary Key。今天在hibermate.org.cn找到解决方法,明天再去实践 :)
主键是必须有的,要么是单字段的id,要么是组合的composite-id,这一点可以从hibernate-mapping-2.0.dtd的第37行看的出来。还有参考手册的4.1.4节也说:“Mapped classes must declare the primary key column of the database table.”想象一下,没有主键,session如何load一个class呢?
id应该是必须有的,但id不一定要对应数据库表的主键,只要能唯一标识一条纪录就行。如果你的表没有主键,那你可以选取若干个column作为composite-id(大不了用所有的column),但很可能会带来很多不便。
本文探讨了在使用Hibernate时遇到的问题:如何配置一个没有主键的表。通过查阅hibermate.org.cn,了解到主键是必须存在的,可以是单一ID或复合ID。文中解释了主键对于加载类的重要性,并提供了配置解决方案。
234

被折叠的 条评论
为什么被折叠?



