- 浏览: 133442 次
- 性别:
- 来自: 长沙
最新评论
-
vivian123an:
http://stackoverflow.com/questi ...
Hibernate的merge()方法 -
zuoguodong:
...
Hibernate的merge()方法 -
lydawen:
个人感觉这个性能没什么意义吧,一次启动只获取一次,为什么每次拿 ...
Spring在web应用中获得Bean的方法 -
379855529:
好详细的分析啊,受教了。
Hibernate的merge()方法 -
zouqone:
keryluo 写道最后一个例子,如果改成下面的代码:Sess ...
Hibernate的merge()方法
文章列表
在Sping和hibernate的整合当中,经常用到泛型DAO。泛型DAO涉及到一个问题,就是泛型父类怎么得到实际的实体类型的.class。
在网上找到一个代码,可以借鉴一下:
this.entityClass = null;
Class c = this.getClass();
Type t = c.getGenericSuperclass();
if (t instanceof ParameterizedType) {
Type[] p = ((ParameterizedType) t).getA ...
今天遇到一个奇怪的现象,我把环境变量里的classpath删除掉之后仍然可以执行java程序(path属性没有删除)。
后来终于明白了,这是java的类加载顺序支配的。
java虚拟机加载一个类分为以下三种顺序:
1:Bootstrap 2:Extension 3:Users
一: Bootstrap:在java启动时载入的类,主要是一些重要的jdk的jar文件。比如rt.jar。这个jar文件包含了jdk的一些基础类库,比如我们熟知的java.lang,java.util等等都包含在rt.jar文件里。这个文件 ...
Spring的AOP采用了动态代理技术,其中有基于JDK的Proxy的代理和基于CGLIB的代理。
下面介绍一下CGLIB的代理技术。
所谓代理,我的理解就是,如果你想要访问一个类的方法,比如Class Hello类的init()方法, ...
我们知道,在JSP中包含一个文件可以有两种做法,分别为:<%@ include file=""%>和<jsp:include page=""/>
既然这两者都是包含,那么到底有什么区别呢?
其一:<%@ include file=""%>是包含静态文件,而<jsp:include page=""/>是包含动态文件。
其二:<%@ include file=""%>可以包含任何类型的文件,所以叫fi ...
在java中关于参数传递时到底是按值传递还是按引用传递一直是比较头疼的。
我的理解是,基本类型是按值传递,而对象类型则是按引用传递的。但是,大家可能会发现一个问题。看下面的程序:
public class Test {
publ ...
在MyEclipse中,我们如果在项目名字上单击右键,然后选择Myeclipse项,可以为我们的项目添加各种框架应用,其中就包括hibernate的应用。如图:
但是,很多时候我们不喜欢使用MyEclipse自带的一些hibernate的jar文件,这时就需要替换掉MyEclipse给我们的jar文件。具体的做法是,选择window的首选项,选择MyEclipse,然后选择Project Capabilities下的hibernate选项,然后选择hibernate3.2的core Library,点击remove ,删除掉MyEclipse提供的所有的ja ...
Spring和Hibernate的整合关键就是要将Hibernate的sessionFactory交给Spring来管理。另外一个就是配置数据源。下面来讲如何配置数据源: 数据源可以采用一些开源的数据源,如DBCP,c3p0等。也可以采用JNDI数据源,即容器提供的数据源。下面就讲解DBCP的配置:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassNa ...
在处理SQL异常的时候,通常不建议直接在持久层catch异常,这么做意义不大。而SQL异常包括hibernate的异常是一种checked异常,也就是说,如果不处理的话就通不过编译。那么一般的做法是,将这种checked异常进行包装让他成为运行时异常,即:RuntimeException。这样,在持久层就不必catch这个异常,可以直接向外抛出,谁有能力处理就交给谁处理,谁也处理不了,就会一直向上抛出。
在JBPM里面,处理异常也是按照上面的方法,在JBPM的源代码里已经封装了一个异常处理类 JbpmException。他的代码如下:
package org.jbpm ...
今天,我的MMSSQL 2000突然不好用了,数据库服务器可以启动,但是企业管理器打不开了,还弹出提示信息,如图所示:
真是怪了,从来没有遇到这样的情况。
我以为是SQL Server的安装文件被破坏了,所以考虑重新安装SQL Server 2000,结果安装后问题依旧。
我查看了一下C:\Program Files\Microsoft SQL Server\80\Tools\Binn\SQL Server Enterprise Manager.MSC,结果好好的存在,怎么说找不到呢?
在网上了堪了很多解决方法,一个一个地尝试,结果就下面一种方法好用,记录下来,以防哪天再冒出这个问题 ...
很多时候,JBPM自己提供的用户系统是不够用的,这时候就要求我们自己去扩展自己的用户体系。JBPM允许外挂一个用户体系。
如果想嵌入自己的用户体系,只需如下几步:
一:创建MyUserImpl,MyGroupImpl,MyMembershipImpl三个类,分别实现接口User,Group。由于类MyMembershipImpl是独立的,因此没有必要继承或实现其他接口。
MyUserImpl 的主要代码:
public class MyUserImpl implements Serializable, User {
private static fi ...
在JBPM中可以通过environment获得各种服务和接口。
1.在JBPM中获得Hibernate的session的方法为:
EnvironmentImpl environment = ((EnvironmentFactory)processEngine).openEnvironment();
Session session = environment.get(Session.class);
其中EnvironmentImpl environment = ((EnvironmentFactory)processEngine).openEnvironment();是 ...
TaskService的常用方法:
TaskService是一个接口,他的一个常用的实现类是TaskServiceImpl。它的常用的方法有:
(1): String saveTask(Task task);//Saves the given task to persistent storage,return the taskId
(2): Task getTask(String taskId);//根据taskId查找任务
(3): void assignTask(String taskId, String userId);//assig ...
一:使用ApplicationContext获得Bean
首先新建一个类,该类必须实现ApplicationContextAware接口,改接口有一个方法,public void setApplicationContext(ApplicationContext applicationContext)throws BeansException ,
也就是说框架会自动调用这个方法返回一个ApplicationContext对象。具体类如下:
public class SpringContextUtils implements ApplicationContextAware{//Sprin ...
1.在struts.xml中配置一个默认的拦截器,用于权限拦截。具体代码如下:
<interceptors> <interceptor name="authority" class="en.estar.utils.AuthorityInterceptor"/> <interceptor-stack name="authorityStack"> <interceptor-ref name=&qu ...