最近在学校工作室做项目时碰到一个Hibernate复合主键的问题,也就是多对多映射的时候中间表不使用代理主键的话会用到复合主键,如果使用代理主键的话,那么中间表的外键肯定是many-to-one的,这样的话跟业务要求不合(即两端的主键合成的中间表外键必须是唯一的,而这样能做到不唯一)。物理模型见附件。 大概描述: 收邮件 用户表-n----m-用户_邮件表-p----n-邮件表 发邮件 用户表-n-----1-邮件表 中间表的映射: <composite-id name="id" class="cn.magicoa.skstudio.domain.U ...
 前段时间搞了一个简单的单用户登陆实现例子,虽然不能实现敏捷反应,但是对安全相对要求底的系统还是可以考虑的。    具体原理:结合过滤器+Servlet监听器。     ServletContext对象保存的是整个WEB应用程序的共享信息,那么如果用户登陆可以把用户的部分信息保存在ServletContext中。    Servlet监听器可以监听用户过期或者注销,把用户信息从ServletContext中删除。    那么,现在关键是如何设计保存在ServletContext中的用户信息:这里, ...
   以前碰到一个延迟加载问题,就是lazy=true的时候出现session close后读取不到数据,出现错误,现在这里总结一下经验: 一:lazy=false,这种方式效率底,不合适. 二:fetch=join,这种方式和上一种差不多. 三:使用OpensessionInView,这种方式事务管理有很多不稳定性(主要存在事务边界的不确定性),此时lazy=true. 四:就是在DAO层把数据read出来,lazy=true,这样不符合ORM关联查询思想. 五:个人认为最佳方案,就是使用动态外连接查询,此时lazy=true.
<pre name="code" class="java"> import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.awt.*; import java.awt.image.*; import javax.imageio.ImageIO; public class CheckCodeServlet extends HttpServlet { private static int WIDTH = 60; private static int HEIGHT = 20; pu ...
beyondqinghua
搜索本博客
最近加入圈子
存档
最新评论