jquery checkBox undefined 和hibernate 联合主键的注意事项 集合转数组 数组转集合 map list 数组 判空 问题

来源:互联网 发布:js除以一个数取整 编辑:程序博客网 时间:2024/05/21 09:46

1.在改代码关于checkBox 在初始化选中的问题 如果文档加载完毕 checkBox呈现未选中的状态,但如果用ajax异步状态 是他呈现选中的状态 这时候

如果用 alert($("#checkbox_all").attr("checked")); 就会一直报 undefined

这是因为在jquery1.6.2以后的版本做了改进 在以前也就是说如果checkbox在页面加载完毕是选中的,那么返回的永远都是checked(我的一开始就是没选中)

如果一开始没被选中,则返回的永远是undefined !

在以后便对此做了修改  alert($("#checkbox_all").prop("checked"));

如上是解决办法


2  便是hibernate 的联合主键问题

在数据库表 中 主键并不是必须 ,有时根据你的业务需求 表是没有主键

但hibernate 是根据 OID(对象标识符)来创建数据库以及维护数据库 的对应关系,OID也就对应着数据库里的表里的主键 ,这样的话就很尴尬了 ,我们数据库里并没有主键

于是我们就可以在 hibernate 使用联合主键:由于主键具有以下特性 :不为空 :不重复,不改变那么使用的时候需要注意以下事项

(1),被充当联合主键的字段在数据库表里不能为空

(2)被充当联合主键的字段最好不要重复

(3)使用起来麻烦


3 数组转list list转数组


                // 定义存放外部系统的数组
                String[] externalIdArray = externalIds.split( "," );

     如果把该数组 转换为 list

 Arrays.asList( externalIdArray )

这样就会转化为list

当在定义存放 list的时候需要特别 注意

  // 定义需要再分配的外部系统的集合
            List<String> exList = new ArrayList<String>();

  exList.addAll( Arrays.asList( externalIdArray ) );

一定要用 addAll方法 不要直接放

4.Map 判空用 isEmpty list判空 用size 数组用length

5.如果在for each 循环 里面移除元素可以会发生不确定的后果




0 0
原创粉丝点击