07年7月7日
今天用hibernate遇到了could not initialize proxy - the owning Session was closed 的错误,找了半天才找到原因,因为我在配置文件里面配置了关联关系,但是我的DAO方法的查询里面却没有把配置的关联用left join fecth查出来,以至于会出现这个错误!
07年7月7日
关于struts配置文件中的redirect属性的应用总结:
<action
name="fileInfoForm"
path="/addfactaudit"
scope="request"
type="com.yliso.flmng.struts.action.AddFactAuditAction">
<forward name="success" path="/queryaudit.do" redirect="true" />
<forward name="false" path="/flmng/queryFile/lookoneaudit.jsp " redirect="false" />
</action>
就说说蓝色部分,当我成功添加完审核以后(也就是执行path="/addfactaudit"以后),跳到/queryaudit.do这个action,而这个action执行成功返回的是一个列表页面,带分页的,这样当我点击分页中的上一页下一页来回分页的时候,redirect如果等于false,那么会不停的执行path="/addfactaudit"这个action,每点一次分页,都会在数据库表里添加一下这个action的,把它设为true以后,这种现象就没有了,以前遇到过这个,但是没有这次认识深刻,redirect是跳转以后重新定向的属性,如果设为false,那么它就不重新定向,在这两个action不停的循环执行,当设为true以后,执行蓝色的action会重新定向,这样就不再走path="/addfactaudit"这个action了.
07年7月7日
基于我以前做的视图,又根据需求改了,里面有转型拼接字段的东西出现了,当时写的很快就完成了,现在作个资料总结:
CREATE VIEW dbo.VDepartTreezf177777
AS
(SELECT dbo.TsysDepartInf.departId tid, dbo.TsysDepartInf.departName dtname, utname=null, dbo.TsysDepartInf.departLCode tlcode,
dbo.TsysDepartInf.departIsEnd tisend, dbo.TsysDepartInf.isDel tisdel, dbo.TsysDepartInf.departParentId tdepartparentid,
dbo.TsysDepartInf.departTreeId depatreeid
FROM dbo.TsysDepartInf left join dbo.TuserInf2TDept on dbo.TsysDepartInf.departId = dbo.TuserInf2TDept.departId)
union
(select dbo.TsysUserInf.userId tid, dtname=null, dbo.TsysUserInf.userName utname,
dbo.TsysDepartInf.departLCode + '0'+CAST(dbo.TsysDepartInf.departId AS varchar)+'$' AS tlcode,
tisend=1, tisdel=0, dbo.TsysDepartInf.departId tdepartparentid, '0'+cast(dbo.TsysUserInf.userId as varchar) depatreeid
from dbo.TsysUserInf left join dbo.TuserInf2TDept on dbo.TsysUserInf.userId = dbo.TuserInf2TDept.userId
left join dbo.TsysDepartInf on dbo.TsysDepartInf.departId = dbo.TuserInf2TDept.departId)
以前的工作笔记中有关于这个视图的详细说明,这里就不多说了,关键看蓝色代码,把departLCode这个字段
前面加上0,再加上departId,再加上$符,departId是int类型的,用cast转型,很简单的方法!,留着做资料,以后用就贴出来改改,也能好好复习,记忆力不好......怕忘.......咳.......上岁数了,补钙都不管用了............