MySQL数据库上有一个没有任何主键的表。我想使用hibernate来访问java的数据端。但是,休眠无法分析映射文档。其他表已正确映射。此问题是否由任何主键引起?我是否必须至少创建一个主键来映射此表?还是还有别的什么?
桌子
CREATE TABLE `users` ( `extension` varchar(20) NOT NULL DEFAULT '', `password` varchar(20) DEFAULT NULL, `name` varchar(50) DEFAULT NULL, `voicemail` varchar(50) DEFAULT NULL, `ringtimer` int(3) DEFAULT NULL, `noanswer` varchar(100) DEFAULT NULL, `recording` varchar(50) DEFAULT NULL, `outboundcid` varchar(50) DEFAULT NULL, `sipname` varchar(50) DEFAULT NULL, `mohclass` varchar(80) DEFAULT 'default', `noanswer_cid` varchar(20) DEFAULT '', `busy_cid` varchar(20) DEFAULT '', `chanunavail_cid` varchar(20) DEFAULT '', `noanswer_dest` varchar(255) DEFAULT '', `busy_dest` varchar(255) DEFAULT '', `chanunavail_dest` varchar(255) DEFAULT '' ) ENGINE=MyISAM DEFAULT CHARSET=latin1
例外:
org.hibernate.boot.InvalidMappingException: 无法解析映射文档: Users.hbm.xml (RESOURCE(
根据Hibernate规范,每个实体都应该有Id,但是如果你不可能将Id添加到当前表中,你仍然可以在没有Entity
注释的情况下创建类User
,并将本机查询的结果映射到这个类。