<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[love萍萍]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ping159</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ping159]]></copyright><item><title><![CDATA[Hibernate是如何延迟加载的]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7099579</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7099579</guid><author>ping159</author><pubDate>Sat, 24 Dec 2011 13:58:32 +0800</pubDate><description><![CDATA[Hibernate对象关系映射提供延迟的与非延迟的对象初始化。非延迟加载在读取一个对象的时候会将与这个对象所有相关的其他对象一起读取出来。这有时会导致成百的（如果不是成千的话）select语句在读取对象的时候执行。这个问题有时出现在使用双向关系的时候，经常会导致整个数据库都在初始化的阶段被读出来了。当然，你可以不厌其烦地检查每一个对象与其他对象的关系，并把那些最昂贵的删除，但是到最后，我们可能会因]]></description><category></category></item><item><title><![CDATA[Load和get方法的区别]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7099576</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7099576</guid><author>ping159</author><pubDate>Sat, 24 Dec 2011 13:58:11 +0800</pubDate><description><![CDATA[1.    读取时机不同（当lazy=true的时候）
load是采用延迟机制(load语句不读库，等使用非主键时才去读库)，而get不采用延迟机制(get语句时马上读库)；
2.    搜索不到数据时的情况
当搜索的数据不存在的时候，load依然会返回一个对象，在你使用该对象的非主键数据时，会抛出异常；当搜索的数据不存在的时候，get会返回一个null；其实看似load到用的时候才去读数据]]></description><category></category></item><item><title><![CDATA[在数据库中条件查询很慢的时候，如何优化?]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7099575</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7099575</guid><author>ping159</author><pubDate>Sat, 24 Dec 2011 13:57:47 +0800</pubDate><description><![CDATA[1.建索引（a 提高查询检索的性能b 创建唯一索引c 创建主键d
归类）
2.减少表之间的关联
3.优化sql，尽量让sql很快定位数据，不要让sql做全表查询，
应该走索引,把数据量大的表排在前面
4.简化查询字段，没用的字段不要，已经对返回结果的控制，尽
量返回少量数据]]></description><category></category></item><item><title><![CDATA[Hibernate的对象状态是什么？]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7099574</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7099574</guid><author>ping159</author><pubDate>Sat, 24 Dec 2011 13:57:18 +0800</pubDate><description><![CDATA[1）瞬态：表示该实体对象在内存中是自由存在的，也就是说与数据库中的数据没有任何的关联即，该实体从未与任何持久化上下文联系过，没有持久化标识（相当与主键）。瞬态实体的特征有：
               与数据库中的记录没有任何关联，也就是没有与其相关联的数据库记录 与Session没有任何关系，也就是没有通过Session对象的实例对其进行任何持久化的操作。
（2）持久态：指该实体对象处于H]]></description><category></category></item><item><title><![CDATA[Cascade和inverse的区别]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7099573</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7099573</guid><author>ping159</author><pubDate>Sat, 24 Dec 2011 13:56:41 +0800</pubDate><description><![CDATA[可以这样理解，cascade定义的是关系两端对象到对象的级联关系；而inverse定义的是关系和对象的级联关系。
inverse只对set+one-to-many(或many-to-many)有效，对many-to-one, one-to-one无效。cascade对关系标记都有效。
inverse对集合对象整体起作用，cascade对集合对象中的一个一个元素起作用，如果集合为空，那么casc]]></description><category></category></item><item><title><![CDATA[类与类之间的有哪几种关系]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7099571</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7099571</guid><author>ping159</author><pubDate>Sat, 24 Dec 2011 13:56:13 +0800</pubDate><description><![CDATA[1.继承:是说子类获得父类的功能的同时，还可以扩展自己的功能。
 
2.依赖:两个相对独立的东东(A和B)，当A负责构造B时，A与B形成依赖关系，即A使用B。
 
3.关联:两个相对独立的东东(A和B)，当A对象持有B对象的时候，形成关联关系。]]></description><category></category></item><item><title><![CDATA[Oracle数据运用那种主键生成策略]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7099569</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7099569</guid><author>ping159</author><pubDate>Sat, 24 Dec 2011 13:55:30 +0800</pubDate><description><![CDATA[Hibernate是一个开放源代码的对象关系映射框架，它对JDBC进行了非常轻量级的对象封装，使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合，既可以在Java的客户端程序使用，也可以在Servlet/JSP的Web应用中使用，最具革命意义的是，Hibernate可以在应用EJB的J2EE架构中取代CMP，完成数据持久化的重任。]]></description><category></category></item><item><title><![CDATA[Hibernate中复合主键的配置]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7099568</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7099568</guid><author>ping159</author><pubDate>Sat, 24 Dec 2011 13:54:53 +0800</pubDate><description><![CDATA[Hibernate中复合主键的配置
 
第一种方式
class User
{
    String name;
    Stirng addr;
    int age;
    ..........
}
如果name和addr是联合主键，那么配置可以如下：

        
        

第二种方式：
class User
{
    UserKey]]></description><category></category></item><item><title><![CDATA[hibrnate内部缓存分析]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7078129</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7078129</guid><author>ping159</author><pubDate>Fri, 16 Dec 2011 17:01:13 +0800</pubDate><description><![CDATA[缓存的作用主要用来提高性能，可以简单的理解成一个Map；使用缓存涉及到三个操作：把数据放入缓存、从缓存中获取数据、删除缓存中的无效数据。
一、hibrnate内部缓存分析：
1、一级缓存：Session级别的缓存
       特点：生命周期短、作用范围小。随着session的结束而结束！
       缺陷：没有任何的保护，不能存过多数据，否则缓存会溢出！共享范围太小。
什么时候将数据]]></description><category></category></item><item><title><![CDATA[继承映射]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7068981</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7068981</guid><author>ping159</author><pubDate>Wed, 14 Dec 2011 07:53:30 +0800</pubDate><description><![CDATA[一、
Casade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似的操作，常用的cascade:
       none,all,save-update ,delete, lock,refresh,evict,replicate,persist,
  merge,delete-orphan(one-to-many) 。
一般对many-to-one,many-to-many不设]]></description><category></category></item><item><title><![CDATA[组件映射和集合映射]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7063744</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7063744</guid><author>ping159</author><pubDate>Mon, 12 Dec 2011 15:31:43 +0800</pubDate><description><![CDATA[组件映射：
组件映射：
在实体类中：
private Set hobbies;
在映射文件中：

       用来指定外键列
     用来指定元素


在配置文件中：
"com/hbsi/domain/Student.hbm.xml" />
在测试类中：
try{
           session=HibrnateUtil.getSession();]]></description><category></category></item><item><title><![CDATA[各种关联映射]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7056404</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7056404</guid><author>ping159</author><pubDate>Fri, 09 Dec 2011 11:48:03 +0800</pubDate><description><![CDATA[一、多对一：employee表与department表
1、插入
1-1、外键允许为空的时候：
保存顺序：先保存了department表，后保存了employee表
执行结果：Hibernate: insert into Department (name) values (?)
Hibernate: insert into Employee (name, depart_id) value]]></description><category></category></item><item><title><![CDATA[Hibernate中的复杂查询]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7050891</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7050891</guid><author>ping159</author><pubDate>Wed, 07 Dec 2011 18:55:18 +0800</pubDate><description><![CDATA[在hibrnate中get（）方法的查询能力比较弱，只能按id查询。
进而引出hql和critae两种比较复杂的查找方法
2-1、HQL(Hibernate Query Language)
  面向对象的查询语言，与SQL不同，HQL中的对象名是区分大小写的（除了JAVA类和属性其他部分不区分大小写）；HQL中查的是对象而不是和表，并且支持多态；HQL主要通过Query来操作，Query的创]]></description><category></category></item><item><title><![CDATA[hibrnate的基本概念和curd]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7046182</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7046182</guid><author>ping159</author><pubDate>Tue, 06 Dec 2011 15:01:41 +0800</pubDate><description><![CDATA[一、开发实现的细节
1、 domain实体类的限制
a)        必须有默认的构造方法：
hibrnate会利用反射机制生成相对应的实体对象时会调用该类的无参构造方法
User user=User.class.newInstance();
b)       主键id （可选）
 
c)       类是非final的，对子类的生成有影响 （可选）
 
2、 映射文件
一个]]></description><category></category></item><item><title><![CDATA[hibrnate]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7041653</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7041653</guid><author>ping159</author><pubDate>Mon, 05 Dec 2011 11:45:25 +0800</pubDate><description><![CDATA[一、java是面向对象模型关系、数据库中是关系模型
       两者是不匹配的，将两者进行转换：
1-1、以前在jdbc中手动完成：
1、 在jdbc中手动完成关系模型转换成对象模型
Rs读取出来的结果集存到对象时
2、 在jdbc中手动完成对象模型转换成关系模型
为占位符赋值时
       由于以上方法比较繁琐。所以引进了以下框架，进行二者进行转换
1-2、使用orm框架（对]]></description><category></category></item><item><title><![CDATA[文件下载]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7016448</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7016448</guid><author>ping159</author><pubDate>Sun, 27 Nov 2011 12:39:13 +0800</pubDate><description><![CDATA[在web应用中实现文件下载的两种方式：
              ·超链接直接指向下载资源
              ·程序实现下载需设置两个响应头
·设置Context-type的值为：application/x-msdownload。Web服务器需要告诉留言器其输出的内容的类型不是普通的内容类型或者htnl文件，而是一个要存到本地的 下载文件
·web服务器希望留言器不直接处理响应]]></description><category></category></item><item><title><![CDATA[上传文件的一些细节：]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7007509</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7007509</guid><author>ping159</author><pubDate>Thu, 24 Nov 2011 12:13:36 +0800</pubDate><description><![CDATA[1、  文件上传中文乱码：upload.setHeaderEncoding(“  ”);
2、  普通输入项的乱码：item.getString（“ ”）;
3、  防止用户不再文件上传的输入项输入上传文件：if(!filename.trim,eques(“”)){}
4、  临时文件删除问题：factory.setRepository(new File(this.getServletCon]]></description><category></category></item><item><title><![CDATA[文件上传]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7003788</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7003788</guid><author>ping159</author><pubDate>Wed, 23 Nov 2011 13:12:41 +0800</pubDate><description><![CDATA[·实现web开发中的文件上传功能，需完成两个步骤：
       1、在web页面中添加传输项（jsp页面或html页面）
1-1·标签用于在web页面中添加文件上传输入项，设置文件上传输入项时需注意：
                     ·必须设置input输入项的name属性，否则浏览器将不会发送上传的数据
·必须把form的enctype属性值设为multipart/form-]]></description><category></category></item><item><title><![CDATA[使用jdbc编写查询框架]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/7000245</link><guid>https://blog.youkuaiyun.com/ping159/article/details/7000245</guid><author>ping159</author><pubDate>Tue, 22 Nov 2011 14:15:25 +0800</pubDate><description><![CDATA[一、使用jdbc编写查询框架
除SQL语句不同之外，根据操作的实体不同，对ResultSet的映射也各不相同，因此可义一个query方法，除以参数形式接收变化的SQL语句外，可以使用策略模式由qurey方法的调用者决定如何把ResultSet中的数据映射到实体对象中
在DBManager类中-------------------此类是一个数据库连接池和框架类
public class DBM]]></description><category></category></item><item><title><![CDATA[数据库连接池]]></title><link>https://blog.youkuaiyun.com/ping159/article/details/6997580</link><guid>https://blog.youkuaiyun.com/ping159/article/details/6997580</guid><author>ping159</author><pubDate>Mon, 21 Nov 2011 18:27:52 +0800</pubDate><description><![CDATA[一、编写数据库连接池
·实现javax.sql.DataSource接口，有getConnection（）和getConnection（String username,String password）
·实现DataSource接口。并实现连接池功能的步骤：
1、在DataSource构造函数中批量创建与数据库的连接，并把创建的连接加入LinkedLIist对象中
2、实现getConne]]></description><category></category></item></channel></rss>