id为主键并且还是自动增长得;我用的是mysql数据库 User user = this.userService.getUser(id);
UserHonest honest = new UserHonest();
honest.setId(5);
honest.setHonest(5);
honest.setType("REG");
honest.setUser(user);
this.userHonestService.addUserHonest(honest); 为什么我每次都要还手动设置主键的值 否则就要抱错误 “ids for this class must be manually assigned before calling save”
我不明白是为什么? 请指教
UserHonest honest = new UserHonest();
honest.setId(5);
honest.setHonest(5);
honest.setType("REG");
honest.setUser(user);
this.userHonestService.addUserHonest(honest); 为什么我每次都要还手动设置主键的值 否则就要抱错误 “ids for this class must be manually assigned before calling save”
我不明白是为什么? 请指教
解决方案 »
- mysql 如何随机插入中文?
- 这个循环的sql怎么样能提高效率?
- 请问MYSQL 1G的数据库用量可以存多少行记录?
- 关于 MYSQL存储过程
- java开发数据库c/s结构(非web),c端一般用什么开发?
- 求一条sql语句转成mysql语句
- 50分就助linux下安装mysql4.1.11的问题
- 在表中存放树状结构的数据,怎么样才比较好呢?
- pt-table-checksum工具主机和从机的端口不一样,怎么解决?
- Encountered a duplicated sql alias [job_id] during auto-discovery of a native-sq
- red hat 用yum装完mysql和mysql-server 后怎么不能运行啊,而且我还找不到mysqld文件?
- 一个联级操作的问题
this.userHonestService.addUserHonest(honest); 是什么?[align=center]==== 思想重于技巧 ====
[/align]
我的表结构是:
CREATE TABLE `userhonest` (
`id` bigint(20) NOT NULL auto_increment,
`honest` int(11) default NULL,
`type` varchar(25) default NULL,
`user_id` bigint(20) default NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
CONSTRAINT `userhonest_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `userinfo` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2654209 DEFAULT CHARSET=utf8;this.userHonestService.addUserHonest(honest);就是将这个对象持久化到数据库中
[/align]
public Long addUserHonest(UserHonest instance)
{
this.userHonestDao.save(instance);
if(instance != null && instance.getId() != null)
{
return instance.getId();
}
return null;
}
[/align]
userHonestDao它继承了一个泛型的GenericDAO 我觉得问题不应该做在哪里,其他地方调用都怪好的
2. 看看你的驱动[align=center]==== 思想重于技巧 ====
[/align]