我的新装fifa2011配置无法保存游戏。。这是为什么- -...

& settings.exe无法设置保存,本人是VISTA
查看: 5394|回复: 19
UID3926926主题阅读权限20帖子精华0积分17金钱77 荣誉0 人气0 在线时间0 小时评议0
Lv.2游侠会员, 积分 17, 距离下一级还需 183 积分
帖子精华0积分17金钱77 荣誉0 人气0 评议0
下过settings.dat了,还是没用,不知道哪位老大有解决办法
这个问题已经解决,方法如下:
1、例如我的游戏是安装在d盘。双击settings.exe后,你会发现在游戏目录下(Pro Evolution Soccer 2010目录下)自动生成一个“KONAMI”文件夹。
2、将KONAMI文件夹拷贝到d盘的根目录下,如果你的游戏安装在e盘,那就将KONAMI文件夹拷贝到e盘的根目录下。以此类推~
3、你会发现原来无法保存的settings.exe可以保存了!尽情游戏吧:)~
[ 本帖最后由 jacklgod 于
10:02 编辑 ]
UID3926926主题阅读权限20帖子精华0积分17金钱77 荣誉0 人气0 在线时间0 小时评议0
Lv.2游侠会员, 积分 17, 距离下一级还需 183 积分
帖子精华0积分17金钱77 荣誉0 人气0 评议0
高人帮帮我啊
UID1153421主题阅读权限20帖子精华0积分21金钱370 荣誉0 人气0 在线时间43 小时评议0
Lv.2游侠会员, 积分 21, 距离下一级还需 179 积分
帖子精华0积分21金钱370 荣誉0 人气0 评议0
我也是一样啊,不知道说怎么回事。看来需重装系统了
UID3926926主题阅读权限20帖子精华0积分17金钱77 荣誉0 人气0 在线时间0 小时评议0
Lv.2游侠会员, 积分 17, 距离下一级还需 183 积分
帖子精华0积分17金钱77 荣誉0 人气0 评议0
还是可以正常玩,没法关闭垂直同步,只有40帧
UID4393922主题阅读权限20帖子精华0积分110金钱192 荣誉0 人气0 在线时间0 小时评议0
Lv.2游侠会员, 积分 110, 距离下一级还需 90 积分
帖子精华0积分110金钱192 荣誉0 人气0 评议0
我也是一样啊,不知道说怎么回事。看来需重装系统了
UID3926926主题阅读权限20帖子精华0积分17金钱77 荣誉0 人气0 在线时间0 小时评议0
Lv.2游侠会员, 积分 17, 距离下一级还需 183 积分
帖子精华0积分17金钱77 荣誉0 人气0 评议0
斑竹大人热心解答一下吧,只有自己顶了!!!
UID3926926主题阅读权限20帖子精华0积分17金钱77 荣誉0 人气0 在线时间0 小时评议0
Lv.2游侠会员, 积分 17, 距离下一级还需 183 积分
帖子精华0积分17金钱77 荣誉0 人气0 评议0
帖子沉了。自己顶啊。斑斑大人救命啊
UID3926926主题阅读权限20帖子精华0积分17金钱77 荣誉0 人气0 在线时间0 小时评议0
Lv.2游侠会员, 积分 17, 距离下一级还需 183 积分
帖子精华0积分17金钱77 荣誉0 人气0 评议0
没人搭理只好继续灌水了@@@@
UID3926926主题阅读权限20帖子精华0积分17金钱77 荣誉0 人气0 在线时间0 小时评议0
Lv.2游侠会员, 积分 17, 距离下一级还需 183 积分
帖子精华0积分17金钱77 荣誉0 人气0 评议0
我的问题好多,麻烦斑竹大人,热心的朋友们啊
UID1153421主题阅读权限20帖子精华0积分21金钱370 荣誉0 人气0 在线时间43 小时评议0
Lv.2游侠会员, 积分 21, 距离下一级还需 179 积分
帖子精华0积分21金钱370 荣誉0 人气0 评议0
看来这是千年不遇的大问题啊
UID2626743主题阅读权限20帖子精华0积分49金钱590 荣誉1 人气1 在线时间142 小时评议0
Lv.2游侠会员, 积分 49, 距离下一级还需 151 积分
帖子精华0积分49金钱590 荣誉1 人气1 评议0
我也顶起来
UID3926926主题阅读权限20帖子精华0积分17金钱77 荣誉0 人气0 在线时间0 小时评议0
Lv.2游侠会员, 积分 17, 距离下一级还需 183 积分
帖子精华0积分17金钱77 荣誉0 人气0 评议0
继续顶起来@
UID3926926主题阅读权限20帖子精华0积分17金钱77 荣誉0 人气0 在线时间0 小时评议0
Lv.2游侠会员, 积分 17, 距离下一级还需 183 积分
帖子精华0积分17金钱77 荣誉0 人气0 评议0
这个问题已经解决,方法如下:
1、例如我的游戏是安装在d盘。双击settings.exe后,你会发现在游戏目录下(Pro Evolution Soccer 2010目录下)自动生成一个“KONAMI”文件夹。
2、将KONAMI文件夹拷贝到d盘的根目录下,如果你的游戏安装在e盘,那就将KONAMI文件夹拷贝到e盘的根目录下。以此类推~
3、你会发现原来无法保存的settings.exe可以保存了!尽情游戏吧:)~
UID2626743主题阅读权限20帖子精华0积分49金钱590 荣誉1 人气1 在线时间142 小时评议0
Lv.2游侠会员, 积分 49, 距离下一级还需 151 积分
帖子精华0积分49金钱590 荣誉1 人气1 评议0
不行啊,我双击了没有生成KONAMI”文件夹
求助啊求助啊。。。。。。。。。救命
UID3926926主题阅读权限20帖子精华0积分17金钱77 荣誉0 人气0 在线时间0 小时评议0
Lv.2游侠会员, 积分 17, 距离下一级还需 183 积分
帖子精华0积分17金钱77 荣誉0 人气0 评议0
把原来的KOMAMI文件复制目录盘(不是PES2010下),是根目录 例如C:&&D: E: 盘
UID2863822主题阅读权限20帖子精华0积分31金钱240 荣誉0 人气0 在线时间22 小时评议0
Lv.2游侠会员, 积分 31, 距离下一级还需 169 积分
帖子精华0积分31金钱240 荣誉0 人气0 评议0
太感谢了,太感谢了,我折腾了一天,终于看到这个好帖子啊,…………………………………………
UID2422297主题阅读权限10帖子精华0积分3金钱46 荣誉0 人气0 在线时间0 小时评议0
Lv.1游侠新人, 积分 3, 距离下一级还需 2 积分
帖子精华0积分3金钱46 荣誉0 人气0 评议0
绝对顶- -,我本来急死了,好人一生平安啊!
UID4468298主题阅读权限20帖子精华0积分39金钱2787 荣誉0 人气0 在线时间1576 小时评议0
Lv.2游侠会员, 积分 39, 距离下一级还需 161 积分
帖子精华0积分39金钱2787 荣誉0 人气0 评议0
你好这位哥老关,我的系统是XP系统也出现这个问题,手柄设置不得问题,就是分辨率不能设置到最高。双击SETTING没有出现在D盘上(我装游戏在D盘上)而是出现在我的文档里面。(我的文档/KONAMI/Pro Evolution Soccer 2011/save和settings,save是个文件夹,里面有个OPTION,是把KONAMI整个文件夹复制还是只复制里面的settings。我都试过游戏还不是最清楚的效果,我刚开始玩的时候(第一次)耍的时候都可以调试到最高分辨率,就是打大师联赛2012年7月卡住了,我删除了PES2011_wecn_wsi_V2.1,然后又重新装了一次,就出问题了,帮忙解决一下,非常感谢!!!!
UID4666647主题阅读权限20帖子精华0积分99金钱1020 荣誉0 人气3 在线时间422 小时评议0
头像被屏蔽
帖子精华0积分99金钱1020 荣誉0 人气3 评议0
提示: 作者被禁止或删除 内容自动屏蔽
UID5737758主题阅读权限10帖子精华0积分1金钱38 荣誉0 人气0 在线时间0 小时评议0
Lv.1游侠新人, 积分 1, 距离下一级还需 4 积分
帖子精华0积分1金钱38 荣誉0 人气0 评议0
太帅气了,不过这是为什么……
Powered by& 游戏无法保存咋回事???
查看: 10755|回复: 18
UID2816711主题阅读权限20帖子精华0积分45金钱780 荣誉0 人气0 在线时间210 小时评议0
Lv.2游侠会员, 积分 45, 距离下一级还需 155 积分
帖子精华0积分45金钱780 荣誉0 人气0 评议0
重装了系统,游戏没重装
进入后保存就提示 游戏无法保存
存储路径空间足够肯定不是空间问题
求助!!!
皇家马德里 守门员教练 10/20
UID4357534主题阅读权限50帖子精华0积分1644金钱715 荣誉5 人气0 在线时间2 小时评议0
Lv.5游侠白银会员, 积分 1644, 距离下一级还需 356 积分
帖子精华0积分1644金钱715 荣誉5 人气0 评议0
存档坏掉了? 想不通还有什么其他原因了
★&&&&★&&&&★&&&&★
UID2816711主题阅读权限20帖子精华0积分45金钱780 荣誉0 人气0 在线时间210 小时评议0
Lv.2游侠会员, 积分 45, 距离下一级还需 155 积分
帖子精华0积分45金钱780 荣誉0 人气0 评议0
从新存新档也不行
也是同样的提示
现在根本没法玩啊
皇家马德里 守门员教练 10/20
UID4357534主题阅读权限50帖子精华0积分1644金钱715 荣誉5 人气0 在线时间2 小时评议0
Lv.5游侠白银会员, 积分 1644, 距离下一级还需 356 积分
帖子精华0积分1644金钱715 荣誉5 人气0 评议0
回复 #3 kelvin904 的帖子
看看“我的文档”目录下的GAMES文件夹里的XML文件有无问题,是不是误删了什么东西
★&&&&★&&&&★&&&&★
UID2816711主题阅读权限20帖子精华0积分45金钱780 荣誉0 人气0 在线时间210 小时评议0
Lv.2游侠会员, 积分 45, 距离下一级还需 155 积分
帖子精华0积分45金钱780 荣誉0 人气0 评议0
没有这个文件……
我是从新装了系统……
皇家马德里 守门员教练 10/20
UID4357534主题阅读权限50帖子精华0积分1644金钱715 荣誉5 人气0 在线时间2 小时评议0
Lv.5游侠白银会员, 积分 1644, 距离下一级还需 356 积分
帖子精华0积分1644金钱715 荣誉5 人气0 评议0
重装系统之后无法保存的话,试试把这个文件放到& & 我的文档/Sports Interactive/Football Manager2010/games文件夹下看看
21:57:04 上传
下载次数: 9257
下载积分: 金钱 -1
241 Bytes, 下载次数: 9257, 下载积分: 金钱 -1
★&&&&★&&&&★&&&&★
Gooner Till I Die游侠足球经理工作组【顾问】阿森纳 功勋教练 200/200英格兰 新星 威尔希尔★★
UID1663036主题阅读权限100帖子精华0积分8601金钱17794 荣誉55 人气314 在线时间3116 小时评议0
帖子精华0积分8601金钱17794 荣誉55 人气314 评议0
另存为 可以么/
红白八载颜犹在,从此将军是路人。你若不射,便是晴天。 罢了,罢了。
UID2816711主题阅读权限20帖子精华0积分45金钱780 荣誉0 人气0 在线时间210 小时评议0
Lv.2游侠会员, 积分 45, 距离下一级还需 155 积分
帖子精华0积分45金钱780 荣誉0 人气0 评议0
不过奇怪的球队汉化和球场汉化不起作用了
皇家马德里 守门员教练 10/20
UID4357534主题阅读权限50帖子精华0积分1644金钱715 荣誉5 人气0 在线时间2 小时评议0
Lv.5游侠白银会员, 积分 1644, 距离下一级还需 356 积分
帖子精华0积分1644金钱715 荣誉5 人气0 评议0
回复 #8 kelvin904 的帖子
什么方法解决的?& && && &&&
★&&&&★&&&&★&&&&★
UID2816711主题阅读权限20帖子精华0积分45金钱780 荣誉0 人气0 在线时间210 小时评议0
Lv.2游侠会员, 积分 45, 距离下一级还需 155 积分
帖子精华0积分45金钱780 荣誉0 人气0 评议0
就是把你的文件放进去就OK了
皇家马德里 守门员教练 10/20
UID4357534主题阅读权限50帖子精华0积分1644金钱715 荣誉5 人气0 在线时间2 小时评议0
Lv.5游侠白银会员, 积分 1644, 距离下一级还需 356 积分
帖子精华0积分1644金钱715 荣誉5 人气0 评议0
回复 #10 kelvin904 的帖子
哦,那看来还是我说的那个原因,你少了默认的文件
★&&&&★&&&&★&&&&★
UID2816711主题阅读权限20帖子精华0积分45金钱780 荣誉0 人气0 在线时间210 小时评议0
Lv.2游侠会员, 积分 45, 距离下一级还需 155 积分
帖子精华0积分45金钱780 荣誉0 人气0 评议0
球场和球队汉化问题也解决了
要放在X:\2010\data\updates\update-1030\db\1030\lnc 下
皇家马德里 守门员教练 10/20
UID4357534主题阅读权限50帖子精华0积分1644金钱715 荣誉5 人气0 在线时间2 小时评议0
Lv.5游侠白银会员, 积分 1644, 距离下一级还需 356 积分
帖子精华0积分1644金钱715 荣誉5 人气0 评议0
回复 #12 kelvin904 的帖子
呵呵,恭喜你自己解决了问题,祝你玩的开心
★&&&&★&&&&★&&&&★
UID2816711主题阅读权限20帖子精华0积分45金钱780 荣誉0 人气0 在线时间210 小时评议0
Lv.2游侠会员, 积分 45, 距离下一级还需 155 积分
帖子精华0积分45金钱780 荣誉0 人气0 评议0
新的征战开始了
开了7国大数据
UID4959111主题阅读权限10帖子精华0积分8金钱98 荣誉0 人气0 在线时间2 小时评议0
Lv.1游侠新人, 积分 8, 距离下一级还需 -3 积分
帖子精华0积分8金钱98 荣誉0 人气0 评议0
一样的问题& &
看看能解决不
UID4895617主题阅读权限10帖子精华0积分3金钱70 荣誉0 人气0 在线时间0 小时评议0
Lv.1游侠新人, 积分 3, 距离下一级还需 2 积分
帖子精华0积分3金钱70 荣誉0 人气0 评议0
ooooooooooooccccccccccccccc
UID5090929主题阅读权限10帖子精华0积分1金钱36 荣誉0 人气0 在线时间0 小时评议0
Lv.1游侠新人, 积分 1, 距离下一级还需 4 积分
帖子精华0积分1金钱36 荣誉0 人气0 评议0
FAFI2011一样的办法能解决么?
UID1786047主题阅读权限20帖子精华0积分29金钱645 荣誉0 人气0 在线时间231 小时评议0
Lv.2游侠会员, 积分 29, 距离下一级还需 171 积分
帖子精华0积分29金钱645 荣誉0 人气0 评议0
narutokakashi 发表于
重装系统之后无法保存的话,试试把这个文件放到& & 我的文档/Sports Interactive/Football Manager2010/gam ...
我的机子装了2014硬盘版的,机子系统无D盘,只有一个C盘,请问存储不了是怎么回事,另存为弹出窗口就是空的,盘符的路径也是白色的,反正就是选不了,知道是怎么回事吗?感谢
UID2973044主题阅读权限10帖子精华0积分1金钱41 荣誉0 人气0 在线时间0 小时评议0
Lv.1游侠新人, 积分 1, 距离下一级还需 4 积分
帖子精华0积分1金钱41 荣誉0 人气0 评议0
QQQQQQQQQQQQ
大头像勋章
永久勋章,统一售价:8888金币。购买地址:待定
发帖数达到10000
白金会员勋章
用户积分达到6000
Powered byjpa的entity中实现hashcode equals方法后无法级联保存所有子结点,这是为什么呀?
问题补充:suziwen 写道还有你的hashcode和equals的写法是什么,可能你的hashcode,equals写得不合理
把不原本id不相的子entity在equals和hashcode写成相同的了
这样hibernate在关联子对像集时,肯定会覆盖掉一个看似不同的对像
比如你的对像这样写
public class aa {
id ,
name,
hashcode(){
return name& ==
}
equals(){
return name==
}
}
这样子的话,
虽然你的两个对像
aa1:{id:1,name:'a'},aa2:{id:2,name:'a'}看起来不是同一个对像
但hibernate却把他当成一个同一个对像来处理的
是用myeclipse直接生成的hashcode,equals方法,就只比较主键id是否相同,在junit中测试也一样不能级联保存,原代码如下:
package com.test.manage.
import java.io.S
import java.util.HashS
import java.util.S
import javax.persistence.CascadeT
import javax.persistence.C
import javax.persistence.E
import javax.persistence.FetchT
import javax.persistence.GeneratedV
import javax.persistence.GenerationT
import javax.persistence.Id;
import javax.persistence.JoinC
import javax.persistence.ManyToO
import javax.persistence.OneToM
import javax.persistence.T
@Entity
@Table(name = "tbl_menu")
public class Module implements Serializable{
private static final long serialVersionUID = 5146343L;
private String menuN // 菜单中文名称
// 菜单页面路径
// 菜单是否有效
private Set&Module& child = new HashSet&Module&(); // 子菜单列表
public Module() {
@GeneratedValue(strategy = GenerationType.AUTO)
public Integer getId() {
public void setId(Integer id) {
@Column(name = "name", nullable = false, length = 20)
public String getMenuName() {
return menuN
public void setMenuName(String menuName) {
this.menuName = menuN
@Column(name = "page", length = 100)
public String getPage() {
public void setPage(String page) {
this.page =
@Column(name = "enable", nullable = false, length = 50)
public String getEnable() {
public void setEnable(String enable) {
this.enable =
@ManyToOne(cascade = {CascadeType.REFRESH})
@JoinColumn(name = "parentid")
public Module getParent() {
public void setParent(Module parent) {
this.parent =
@OneToMany(cascade = {CascadeType.ALL}, mappedBy = "parent", fetch = FetchType.EAGER)
public Set&Module& getChild() {
public void setChild(Set&Module& child) {
this.child =
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
public boolean equals(Object obj) {
if (this == obj)
if (obj == null)
if (!(obj instanceof Module))
Module other = (Module)
if (id == null) {
if (other.id != null)
} else if (!id.equals(other.id))
问题补充:suziwen 写道你正情况是经常发生?还是有时?
试试 debug看child里都有几个变量,把变量值都打出来对比下保存到数据库里的值
一直就没有对过,child中只加进去了一个子结点
问题补充:suziwen 写道你正情况是经常发生?还是有时?
试试 debug看child里都有几个变量,把变量值都打出来对比下保存到数据库里的值
去掉hashcode,equals()方法就可以级联保存了,真怪了
问题补充:myali88 写道你保存对象的代码贴出来看看。
public void testCascadeSave(){
ApplicationContext ac = new ClassPathXmlApplicationContext("application-common.xml");
EntityManagerFactory emf = (EntityManagerFactory) ac.getBean("entityManagerFactory");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
Module module1 = new Module();
module1.setMenuName("系统管理");
module1.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child1 = new Module();
module1_child1.setMenuName("角色管理");
module1_child1.setPage("manage/getRoleList.action");
module1_child1.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child2 = new Module();
module1_child2.setMenuName("用户管理");
module1_child2.setPage("manage/getUserList.action");
module1_child2.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child3 = new Module();
module1_child3.setMenuName("商家管理");
module1_child3.setPage("manage/getCorporationList.action");
module1_child3.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child4 = new Module();
module1_child4.setMenuName("客户管理");
module1_child4.setPage("manage/getCustomerList.action");
module1_child4.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child5 = new Module();
module1_child5.setMenuName("产品管理");
module1_child5.setPage("manage/getProductList.action");
module1_child5.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child6 = new Module();
module1_child6.setMenuName("订单管理");
module1_child6.setPage("manage/getOrderList.action");
module1_child6.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child7 = new Module();
module1_child7.setMenuName("返利管理");
module1_child7.setPage("manage/getCommisionList.action");
module1_child7.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child8 = new Module();
module1_child8.setMenuName("订阅管理");
module1_child8.setPage("manage/getNotifyList.action");
module1_child8.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child9 = new Module();
module1_child9.setMenuName("问题管理");
module1_child9.setPage("manage/getProblemList.action");
module1_child9.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child10 = new Module();
module1_child10.setMenuName("反馈信息");
module1_child10.setPage("manage/getFeedbackList.action");
module1_child10.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child11 = new Module();
module1_child11.setMenuName("统计信息");
module1_child11.setPage("manage/getTotalList.action");
module1_child11.setEnable(ConstantDefine.YESORNOENUM_YES);
Module module1_child12 = new Module();
module1_child12.setMenuName("问卷调查");
module1_child12.setPage("manage/getSurveyList.action");
module1_child12.setEnable(ConstantDefine.YESORNOENUM_YES);
module1_child1.setParent(module1);
module1.getChild().add(module1_child1);
module1_child2.setParent(module1);
module1.getChild().add(module1_child2);
module1_child3.setParent(module1);
module1.getChild().add(module1_child3);
module1_child4.setParent(module1);
module1.getChild().add(module1_child4);
module1_child5.setParent(module1);
module1.getChild().add(module1_child5);
module1_child6.setParent(module1);
module1.getChild().add(module1_child6);
module1_child7.setParent(module1);
module1.getChild().add(module1_child7);
module1_child8.setParent(module1);
module1.getChild().add(module1_child8);
module1_child9.setParent(module1);
module1.getChild().add(module1_child9);
module1_child10.setParent(module1);
module1.getChild().add(module1_child10);
module1_child11.setParent(module1);
module1.getChild().add(module1_child11);
module1_child12.setParent(module1);
module1.getChild().add(module1_child12);
em.persist(module1);
em.getTransaction().commit();
问题补充:myali88 写道&&& 你这个问题在hibernate很典型,也有专门的探讨,就是PO如何重载hashCode和equals方面的问题。为什么关注这个问题,因为java里面collections会用到。
&&& 默认情况下,java对象的equals方法是比较对象的引用,自然不同的对象的引用都是不同的,所以这个equals的的实现方案是可以的。但对于PO对象,我们只关心它与数据库里的哪一行记录对应就可以了,而不关心对象本事是否一样。比如通过session.load(1)得到的数据库同一行的数据,在不同session执行这个方法,对数据来说是同一个,对JVM来说,却是不一样的(引用不同)。
&&& 上面说了作为PO对象不关心对象本身是否一样,那就可以重载equals方法,但重载有些原则:
1、尽量使用业务属性来判断。PO对象代表业务模型,只有业务属性不一样才表示是不同的对象;
2、使用不变属性来判断。因为如果属性值是可变的,那么equals的比较结果会前后不一样。如你这里的“id”
3、使用逻辑键判断时,确保逻辑键的唯一性。
针对你的代码说明一下:
你重载的equals方法:
public boolean equals(Object obj) {
if (this == obj)
if (obj == null)
if (!(obj instanceof Module))
Module other = (Module)
if (id == null) {
if (other.id != null)
} else if (!id.equals(other.id))
你的hibernate操作:
Module module1_child12 = new Module();
module1_child12.setMenuName("问卷调查");
module1_child12.setPage("manage/getSurveyList.action");
module1_child12.setEnable(ConstantDefine.YESORNOENUM_YES);
module1_child12.setParent(module1);
module1.getChild().add(module1_child12);
em.persist(module1);
从你的代码可以看到,equals的比较关键就在于对象id是否相等(其他的暂不考虑),我们知道hibernte是在持久化实体时添加id值的,这就违背“不变性”原则,导致的问题就是,我们以为自己new的Module都是不同的,其实都是相同的,当我们向集合Set时,其实最终只有最后一个添加到机会中了,因为Set的比较是基于equals的。
你可以看看Hibernate关于这个的文章:
非常感谢你,问题总算还是解决了,虽然不太完美在解决,
把子结点加到集合中的时候,到不是只有最后一个,而是加了前五个或者是几个,然后就剩下的就没加进去,保存到表中也只仅有前几条,唉,真郁闷呀
重点是:
上面说了作为PO对象不关心对象本身是否一样,那就可以重载equals方法,但重载有些原则:
1、尽量使用业务属性来判断。PO对象代表业务模型,只有业务属性不一样才表示是不同的对象;
2、使用不变属性来判断。因为如果属性值是可变的,那么equals的比较结果会前后不一样。如你这里的“id”
3、使用逻辑键判断时,确保逻辑键的唯一性。
-------------------------------------------------
只是有些对象都是"现实世界"不存在的.
引用把子结点加到集合中的时候,到不是只有最后一个,而是加了前五个或者是几个,然后就剩下的就没加进去,保存到表中也只仅有前几条,唉,真郁闷呀
在保存之前,module1有几个元素,12个吗?如果不是,那你要好好看看,前面12个module中哪些是相等的。
&&& 你这个问题在hibernate很典型,也有专门的探讨,就是PO如何重载hashCode和equals方面的问题。为什么关注这个问题,因为java里面collections会用到。
&&& 默认情况下,java对象的equals方法是比较对象的引用,自然不同的对象的引用都是不同的,所以这个equals的的实现方案是可以的。但对于PO对象,我们只关心它与数据库里的哪一行记录对应就可以了,而不关心对象本事是否一样。比如通过session.load(1)得到的数据库同一行的数据,在不同session执行这个方法,对数据来说是同一个,对JVM来说,却是不一样的(引用不同)。
&&& 上面说了作为PO对象不关心对象本身是否一样,那就可以重载equals方法,但重载有些原则:
1、尽量使用业务属性来判断。PO对象代表业务模型,只有业务属性不一样才表示是不同的对象;
2、使用不变属性来判断。因为如果属性值是可变的,那么equals的比较结果会前后不一样。如你这里的“id”
3、使用逻辑键判断时,确保逻辑键的唯一性。
针对你的代码说明一下:
你重载的equals方法:
public boolean equals(Object obj) {
if (this == obj)
if (obj == null)
if (!(obj instanceof Module))
Module other = (Module)
if (id == null) {
if (other.id != null)
} else if (!id.equals(other.id))
你的hibernate操作:
Module module1_child12 = new Module();
module1_child12.setMenuName("问卷调查");
module1_child12.setPage("manage/getSurveyList.action");
module1_child12.setEnable(ConstantDefine.YESORNOENUM_YES);
module1_child12.setParent(module1);
module1.getChild().add(module1_child12);
em.persist(module1);
从你的代码可以看到,equals的比较关键就在于对象id是否相等(其他的暂不考虑),我们知道hibernte是在持久化实体时添加id值的,这就违背“不变性”原则,导致的问题就是,我们以为自己new的Module都是不同的,其实都是相同的,当我们向集合Set时,其实最终只有最后一个添加到机会中了,因为Set的比较是基于equals的。
你可以看看Hibernate关于这个的文章:
你保存对象的代码贴出来看看。
你自己可以试试
有hashcode,和equals时
debug,看真正到child的有几个对像
如果变少了
那就说明这hashcode,equals的算法有问题导致对像重叠了
你正情况是经常发生?还是有时?
试试 debug看child里都有几个变量,把变量值都打出来对比下保存到数据库里的值
还有你的hashcode和equals的写法是什么,可能你的hashcode,equals写得不合理
把不原本id不相的子entity在equals和hashcode写成相同的了
这样hibernate在关联子对像集时,肯定会覆盖掉一个看似不同的对像
比如你的对像这样写
public class aa {
id ,
name,
hashcode(){
return name& ==
}
equals(){
return name==
}
}
这样子的话,
虽然你的两个对像
aa1:{id:1,name:'a'},aa2:{id:2,name:'a'}看起来不是同一个对像
但hibernate却把他当成一个同一个对像来处理的
有报什么错吗
已解决问题
未解决问题}

我要回帖

更多关于 fifa2011配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信