如果不想级联删除记录,那么删除了被其它数据库表引用了的记录就会报错,当然,如果报错后捕捉它,然后回滚也是可以解决问题的,但那样做太被动了,所以到处问人,不知道是回答的人少还是知道的人少,总之都没什么好办法,经过多方努力终于找到了最佳的解决方案.
 
我的环境是struts+hibernate,
bean:size标签创建一个java.lang.Integer类型的bean,这个bean的值为该标签指定的Collection或Map中所含元素的个数。 这可以和logic:iterate标签配合使用,因为logic:iterate标签不能得到所叠代的集合的元素的个数,这有时候很不方便。
下面的代码片段示例了 bean:size标签取出persons中还有元素的个数:
 
  
<logic:notEmpty name= "listForm" property = "persons">    
<bean:size id= "size" name= "listForm" property = "persons"/>  
<bean:write name= "size"/>
</logic:notEmpty>
用这个标签,在JSP页面上就可以判断出该条数据是否被引用过(如果未被引用size为0).