在MySQL数据库上有一个没有任何主键的表。我想用hibernate来访问java的数据端。但是,hibernate无法解析映射文档。其他表格正确映射。这个问题是否导致没有主键?我必须创建至少一个主键才能映射此表吗?或者还有别的吗?
表格
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)
答案 0 :(得分:0)
根据Hibernate规范,每个实体都应该有Id,但是如果你没有可能将Id添加到当前表,你仍然可以创建没有User
注释的类Entity
,并映射结果对此类的本机查询。