- 浏览: 42411 次
- 性别:
- 来自: 南昌
最新评论
-
392807718:
值得学习
JDBC insert后获取插入的主键值的方法 -
qn_0:
export -> ftp -> imp
另类的异构系统数据交互 -
beyondqinghua:
问题没解决,反倒放进了新手贴,寒心!
hibernate 使用复合主键的问题 -
beyondqinghua:
我的意思是大家怎么处理复合主键,因为对Hibernate在企业 ...
hibernate 使用复合主键的问题 -
wxb_love:
tangdaibing 写道不知道楼主要问的问题是什么,没有搞 ...
hibernate 使用复合主键的问题
文章列表
最近在学校工作室做项目时碰到一个Hibernate复合主键的问题,也就是多对多映射的时候中间表不使用代理主键的话会用到复合主键,如果使用代理主键的话,那么中间表的外键肯定是many-to-one的,这样的话跟业务要求不合(即两端的主键合成的中间表外键必须是唯一的,而这样能做到不唯一)。物理模型见附件。
大概描述:
收邮件
用户表-n----m-用户_邮件表-p----n-邮件表
发邮件
用户表-n-----1-邮件表
中间表的映射:
<composite-id name="id" class="cn.magicoa.skstudio.domain. ...
前段时间搞了一个简单的单用户登陆实现例子,虽然不能实现敏捷反应,但是对安全相对要求底的系统还是可以考虑的。
具体原理:结合过滤器+Servlet监听器。
ServletContext对象保存的是整个WEB应用程序的共享信息,那么 ...
以前碰到一个延迟加载问题,就是lazy=true的时候出现session close后读取不到数据,出现错误,现在这里总结一下经验:
一:lazy=false,这种方式效率底,不合适.
二:fetch=join,这种方式和上一种差不多.
三:使用OpensessionInView,这种方式事务管理有很多不稳定性(主要存在事务边界的不确定性),此时lazy=true.
四:就是在DAO层把数据read出来,lazy=true,这样不符合ORM关联查询思想.
五:个人认为最佳方案,就是使用动态外连接查询,此时lazy=true.
上次朋友问,后来关注了一下,具体方法:
java.sql 接口 Statement
boolean
execute(String sql, int autoGeneratedKeys) 执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序所有自动生成的键都应该可用于获取。
static int
RETURN_GENERATED_KEYS 该常量指示生成的键应该可用于获取。
由于为了看到效果,这里使用一个公共的输出类只控制输出:package test;
public class Print{
public static void println(Object o){
System.out.println(o);
}
public static void print(Object o){
System.out.print(o);
}
} package test;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import static test ...
- 2008-03-26 11:54
- 浏览 1078
- 评论(1)
<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 stati ...
package com.beyondlife.demo2;
/*
* 这个类拥有三个静态方法用于数组排序
*
*/
public class NumberSort {
public static final int ASC = 1; //升序排列
public static final int DES = 2; //降序排列
/*冒泡排序
* 算法设计:此算法利用前后的元素大小进行比较,交换位置;
* 要实现整个数组的排序需要使用外循环来控制遍历次数;
* 内循环来控制前后两元素的比较次数,一次内循环之后可以找出最大的或最小的放在右边.
*
*/
...
import java.util.LinkedList;
/*
*利用LinkedList来实现堆栈
*LinkedList容器具有有续性,以及插入删除方便的特征
*
*/
public class Stack<T>{
//建立一个链表保存数据
private LinkedList<T> stack;
public Stack(){
stack = new LinkedList<T>();
}
//入栈操作
public void push(T obj){
stack.addFirst(obj);
}
...
下面是为实现一个高质量equals方法的处方:1、 使用==操作符检查“实参是否为指向对象的一个引用”。2、 使用instanceof操作符检查“实参是否为正确的类型”。3、 把实参转换到正确的类型。4、 对于该类中的每一个“关键”域,检查实参中的域是否与当前对象中对应的域值匹配。数值可以直接使用
1、 把某个非零常数值,比如17,保存在一个叫result的int类型的变量中。2、 对于对象中的关键域f(指equals方法中考虑的每一个域),完成以下步骤:A、为该域计算int类型的散列码c:I、