没有主键表的Hibernate映射

时间:2017-08-08 07:21:35

标签: java mysql eclipse hibernate hibernate-mapping

在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)

1 个答案:

答案 0 :(得分:0)

根据Hibernate规范,每个实体都应该有Id,但是如果你没有可能将Id添加到当前表,你仍然可以创建没有User注释的类Entity,并映射结果对此类的本机查询。