我正在使用Netbeans从数据库创建实体类,我选择数据库中的所有表,创建的类没有任何关于关系的信息,比如@OneToMany,@ManyToOne等。这是我的数据库中有两个表的示例,在创建表时还需要指定其他什么吗?
CREATE TABLE `Indicator` (
`ID` int(11) NOT NULL,
`Number` int(11) NOT NULL,
`ApplicablePeriodTypeID` int(11) NOT NULL,
`IndicatorSourceID` int(11) DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `IndicatorSourceID` (`IndicatorSourceID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1$$
CREATE TABLE `IndicatorSource` (
`ID` int(11) NOT NULL,
`CollectionName` varchar(255) NOT NULL,
`URL` varchar(1000) DEFAULT NULL,
`Number` int(11) NOT NULL,
`SourceName` varchar(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1$$发布于 2011-03-24 20:19:09
您可能需要添加外键约束,例如在IndicatorSourceID上。否则,不会有任何迹象表明IndicatorSourceID引用了IndicatorSource.ID。
发布于 2011-03-24 23:50:21
将引擎更改为InnoDB并添加外键解决了这个问题。一些与InnoDB不同数据库引擎不支持外键,当尝试添加一个外键时,它不会产生任何错误。
发布于 2011-04-01 23:07:06
附注: Netbeans 6.9中的从数据库创建实体类功能似乎没有为从备用键迁移的外键添加关系--只为从主键迁移的外键添加关系。
https://stackoverflow.com/questions/5418801
复制相似问题