`
guyinglong
  • 浏览: 71991 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论
文章列表
在说他们之间的区别之前,先考虑如下几个问题: 1、getCurrentSession()与openSession()的区别? * 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession()   创建的session则不会 * 采用getCurrentSession()创建的session在commit或rollback时会自动关闭,而采用openSession()   创建的session必须手动关闭   2、使用getCurrentSession()需要在hibernate.cfg.xml文件中加入如下配置: * 如果使用 ...
1:字符串分割: public int getCount(String str,String sign){//查找某一字符串中str,特定子串s的出现次数       if(str==null) return 0;       StringTokenizer s=new StringTokenizer(str,sign);       return s.countTokens();   }  public String[] getArray(String str,String sign){//按特定子串s为标记,将子串截成数组。     int count=getCount(str,sign) ...
算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeArrayException 数组下标越界异常:ArrayIndexOutOfBoundsException 违背安全原则异常:SecturityException 文件已结 ...
1. 在Hibernate配置文件中设置:      <!-- Hibernate SessionFactory -->     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">         <property name="dataSource" ref="dataSource"/>         <property name=&qu ...
Hibernate的缓存分为: 一级缓存:在Session级别的,在Session关闭的时候,一级缓存就失效了。 二级缓存:在SessionFactory级别的,它可以使用不同的缓存实现,如EhCache、JBossCache、OsCache等。 缓存的注释写法如下,加在Entity的java类上: @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) 缓存的方式有四种,分别为: CacheConcurrencyStrategy.NONE CacheConcurrencyStrategy.READ_ON ...
前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。     总结如下:     Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。     DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时,DataSource实际为Se ...
每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Entity 注解来进行声明。 声明实体Bean @Entity public class Flight implements Serializable { Long id; @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } } @Entity 注解将一个类声明为实体 Bean, @Id 注解声明了该实体Bean的标识属性。 Hibernate 可以对类的属性或者方法进行注解。属性对应fiel ...
虽然我们可以通过 @Autowired 在 Bean 类中使用自动注入功能,但是 Bean 还是在 applicatonContext.xml 文件中通过 <bean> 进行定义 —— 在前面的例子中,我们还是在配置文件中定义 Bean,通过 @Autowired为 Bean 的成员变量、方法形参或构造函数形参提供自动注入的功能。 那么能不是也可以通过注解定义 Bean,从 XML 配置文件中完全移除 Bean 定义的配置呢? 答案是肯定的,我们通过 Spring 2.5 提供的 @Component 注释就可以达到这个目标了。 修改Bean的java类的代码如下,在类名前面加上 @ ...
在(三)里面。我们引入了 <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>这个bean 来处理@Autowired注解。 其实在spring 里面还有其他三个BeanPostProcessor 。总共有四个,分别是: AutowiredAnnotationBeanPostProcessor CommonAnnotationBeanPostProcessor PersistenceAnnotationBeanPostPro ...
通过 (一),(二)的介绍。我们已经做了初步的简化程序。 但是在我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。虽然 可以通过eclipse等工具来自动生成。但是还是会引起程序阅读性上的不便。那么既然注解这么强大。是否可以也把他精简掉呢? 当然可以。这个标签就是@Autowired Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 要实现我们要精简程序的目的。需要这样来处理: 在appli ...
通过上面一步骤。我们简化了hibernate中扰人的 xxxxx.hbm.xml文件。那么是否可以再进行简化呢? 那么,我们在这一步骤的目的,就是把整个 hibernate.cfg.xml都给简化了。 依然是利用注解注入的方式。通过jpa 我们可以把 hibernate.cfg.xml中那些 mapping classes再次简化与无形。 在applicationContext.xml中进行如下配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:// ...
以下几篇文章简单的介绍一下jpa 和 spring2.5 hibernate3.2 整合配置的一个过程。纯粹个人经验只谈。如果有错误,请各位留言指出。 本系列重点是涉及 配置过程 ,对注释的用法不多介绍。 注释语法越来越多的被业界所使用,并且注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。注释和 Java 代码位于一个文件中,而 XML 配置采用独立的配置文件,大多数配置信息在程序开发完成后都不会调整,如果配置信息和 Java 代码放在一起,有助于增强程序的内聚性。而采用独立的 XML 配置文件,程序员在编写 ...
有一次用jsonplugin输出json的时候,发生了以下异常:java.sql.SQLException: Positioned Update not supported,其实以前也遇到过这种问题,原因也找到了,是因为我们生成json的类是hibernate的model类,当中有一些对象是延迟加载的,这些对象并不是原model类中的属性,而是由cglib这个字节码生成器动态生成的对象。Hibernate在这个子类中添加了hibernateLazyInitializer等等的附加属性。由于jsonplugin并不区分类和动态生成的类,所以也会试图序列化hibernateLazyInitializ ...
Json工具类,Object转Json对象,支持Hibernate的延迟加载对象 (转贴IY部落 http://www.diybl.com/course/3_program/java/javajs/200818/96028.html) 代码: package com.aherp.framework.util; import java.lang.reflect.Array; import java.lang.reflect.Method; import java.util.Collection; import java.util.Iterator; import java.util.Map; ...
JPA定义实体之间的关系有如下几种: @OneToOne @ManyToOne @OneToMany @ManyToMany 在定义它们的时候可以通过fetch属性指定加载方式,有两个值: FetchType.LAZY:延迟加载 FetchType.EAGER:急加载 急加载就好理解了,在加载一个实体的时候,其中定义是急加载的的属性(property)和字段(field)会立即从数据库中加载 开发过程中遇到问题最多的就是延迟加载,并且问题都是一个: “为什么我定义为延迟加载了,但没起作用,相关的属性或者字段还是会立即加载出来?” 对于这个问题,我的理解是这样的,我们首先假设有如下的影射关系: @ ...
Global site tag (gtag.js) - Google Analytics