2009.6.12
昨天好不容易解决了seam的JPA高级权限验证的页面为什么不跳转的原因,但是昨天下午又出现了个新的问题,那就是在新增用户的时候,为什么我用new RunAsOperation()这个匿名内部类却只能插入用户(identityManager.createUser(username, password);),不能插入与其对应的角色(identityManager.grantRole(username, "studio"); ) ?? 。昨天下午郁闷了一下午,今早也一样,气的要吐血.....。
今天下午终于又被我发现问题的原因了,这个原因又是和上面那个问题一样,都是出现在那个各自页面的page.xml文件中,例如第一个问题是由于我在login.page.xml中有设置东西,所以在总的pages.xml中也设置了东西,所以在pages.xml中根本没有起到效果,这是问题一出错的原因。现在问题二出错的原因也同样是因为UsersEdit.page.xml,我从网上查了许多资料,(1)也改了我的实体users变成:@ManyToMany(targetEntity = Role.class,cascade=CascadeType.ALL),(2)也改了我的persistence.xml加入:<property name="hibernate.transaction.flush_before_completion" value="true"/>。所有的这些尝试都以失败而告终(伤心失望啊!)。最后终于被我发现问题了,原来在UsersEdit.page.xml中有这样一句话:<begin-conversation join="true" flush-mode="manual"/>,就因为它要手动来改刷新模式,所以数据库一直没有插成功,所以应该改成这样:<begin-conversation join="true" flush-mode="auto"/>。所以总结出一点用seam来做开发一定要小心它的所有页面的page.xml文件,因为这些都是seam帮我们自动生成的,所以请谨记!!!
昨天好不容易解决了seam的JPA高级权限验证的页面为什么不跳转的原因,但是昨天下午又出现了个新的问题,那就是在新增用户的时候,为什么我用new RunAsOperation()这个匿名内部类却只能插入用户(identityManager.createUser(username, password);),不能插入与其对应的角色(identityManager.grantRole(username, "studio"); ) ?? 。昨天下午郁闷了一下午,今早也一样,气的要吐血.....。
今天下午终于又被我发现问题的原因了,这个原因又是和上面那个问题一样,都是出现在那个各自页面的page.xml文件中,例如第一个问题是由于我在login.page.xml中有设置东西,所以在总的pages.xml中也设置了东西,所以在pages.xml中根本没有起到效果,这是问题一出错的原因。现在问题二出错的原因也同样是因为UsersEdit.page.xml,我从网上查了许多资料,(1)也改了我的实体users变成:@ManyToMany(targetEntity = Role.class,cascade=CascadeType.ALL),(2)也改了我的persistence.xml加入:<property name="hibernate.transaction.flush_before_completion" value="true"/>。所有的这些尝试都以失败而告终(伤心失望啊!)。最后终于被我发现问题了,原来在UsersEdit.page.xml中有这样一句话:<begin-conversation join="true" flush-mode="manual"/>,就因为它要手动来改刷新模式,所以数据库一直没有插成功,所以应该改成这样:<begin-conversation join="true" flush-mode="auto"/>。所以总结出一点用seam来做开发一定要小心它的所有页面的page.xml文件,因为这些都是seam帮我们自动生成的,所以请谨记!!!