- 浏览: 183921 次
- 性别:
- 来自: 广州
最新评论
-
枫了的红叶儿:
事务与存储过程的区别 -
黄进宝与wys:
...
Mysql事务处理 -
youshenxuzuo:
您好, 我有个问题想请教一下。关于start方法启动线程,自动 ...
java thread: run方法和john方法 -
Leisurez:
[i][u]引用[list]
[*]
[/list][/u][ ...
Hibernate的查询方式 -
Leisurez:
[flash=200,200][/flash]
Hibernate的查询方式
文章列表
开发中,通常是通过两种方式来执行对数据库的查询操作的。一种方式是通过ID来获得单独的Java对象,另一种方式是通过HQL语句来执行对数据库的查询操作。下面就分别结合这两种Hibernate查询方法来说明一下缓存的作用。
通过ID来获得Java对象可以直接使用Session对象的load()或者get()方法,这两种方式的区别就在于对缓存的使用上。 下面我们来具体看看Hibernate查询方法的实现。
load()方法
在使用了二级缓存的情况下,使用load()方法会在二级缓存中查找指定的对象是否存在。
在执行load()方法时,Hibernate首先从当前Session的一 ...
Hibernate的查询方式有:
1.使用主键id加载对象(load(),get());
2.通过对象导航,比如通过stu.getTeam()得到team的实例;
3.使用hql;
4.使用qbc(query by criteria)
5.直接使用sql语句取得记录集;
一般都使用后面三种方式.
注意.hql是面向对象的查询.语法和sql是基本一样的.不区分大小写的,但是注意的是对与对象.必须遵循对象的大小写.因为hql是对像查询..同时我们必须清楚.hql只能取得对象,而不支持uid(update,insert.delete)
HQL功能最强大,适合各种情况, ...
MyISAM 是MySQL中默认的存储引擎,一般来说不是有太多人关心这个东西。决定使用什么样的存储引擎是一个很tricky的事情,但是还是值我们去研究一下,这里的文章只考虑 MyISAM 和InnoDB这两个,因为这两个是最常见的。
下面先让我 ...
数据库事务必须具备ACID特性,ACID是Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)的英文缩写。
原子性:指整个数据库事务是不可分割的工作单位。只有使据库中所有的操作执行成功,才算整 ...
缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。
缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期。
Hibernate的缓存包括Session的缓存和SessionFactory的缓存,其中SessionFactory的缓存又可以分
为两类:内置缓存和外置缓存。 ...
一、事务
【定义】事务:是指作为单个逻辑工作单元执行的一系列操作
当前mysql的存储引擎中只有innodb和BDB实现了事务的ACID,并且实现机制和oracle是一致的,主要使用了mvcc的实现理论。
mysql的事务分两 ...
1.从键盘输入一组数(用,分割),排序后输出
【分析】使用Scanner类获取键盘输入。以下代码都放在main函数中
System.out.println("请输入一串数字,用,隔开:");
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
String[] strarr = str.split(",");
int len = strarr.length;
int[] num = new int[len];
for(int i ...
一般的,进程间通信的方法有:
(1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。
(2)命名管道(named pipe):命名管道克服了管道没有 ...
一、JDK1.5新特性
1、泛型(Generic)
可以在编译的时候检测出类型错误,编译后和没有使用泛型的效果是相同的,但是使用泛型可以让你在编译时就发现错误,例如:
例1-1代码
1. import java.util.ArrayList;
2. import java.util.Collection;
3. import java.util.Iterator;
4.
5. public class GenericTest {
6. public static void main(String[] args) { ...
一、Hibernate
1.Hibernate Exception:An AnnotationConfiguration instance is required to use解决
在用JPA的方式声明持久类时:
* 删除.hbm.xml文件
* hibernate.cfg.xml中的持久类映射<mapping resource="XXXX.xml" />变成<mapping class=&quo ...
1.xml名称空间通过一系列属性来声明,这些属性的名字必须是xmlns或以xmlns:作为前缀
2.名称空间声明的两个形式:
<元素名 xmlns:prefixname="URI"> 其中prefixname表示名称空间前缀
<元素名 xmlns="URI"> ...
JAVA连接数据库的方式有多种,根据所需要的不同数据库驱动分,分为四种:
1:1类驱动。这就是JDBC-ODBC桥的方式。但这种方式不适合程序的重用与维护,不推荐使用。需要数据库的ODBC驱动。
2:2类驱动。这就是JDBC+厂商API的形式。厂商API一般使用C编写,所以,这种方式也不长使用。
3:3类驱动。这就是JDBC+厂商Database Connection Server+DataBase的形式。这种方法就是在JAVA 与 DATABASE之间价起了一台专门用与数据库连接的服务器(一般由数据库厂商提供)。他的好处在于能优化连接。
4:4类驱动。这就是纯JDBC+DATABASE的 ...
1. java io 库采用Decorator设计模式
2. java io库中包括两种对象:处理字节序列的类(InputStream和OutputStream,读写操基于单字节)和处理Unicode字符的类(Reader和Writer,读写操作是基于双字节的 Unicode代码单元)。
3.类结构
InputStream(抽象类)
|--ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节
|--FileInputStream 从文件系统中的某个文件中获得输入字节
|--ObjectInputStr ...
1.
Given the following class definitions, what is the output of the statement new Child();
1. class Parent {
2. {
3. System.out.print(“1”);
4. }
5.
6. public Parent(String greeting) {
7. System.out.print(“2”);
8. }
9. }
10.
11. class Child extends Parent {
12. st ...
一、接口
1.接口中的方法默认都是public和abstract的,不管是否显式声明。
2.接口可以继承接口。
3.接口中的变量都是 public,static和final的
4.接口中不能声明静态方法
二、枚举
1.枚举类型默认继承了java.lang.Enum类,因此不能在继承其他类或enum。
2.不要实例化一个enum,因为枚举类型中的内容都是public,static和final的,没有理由去创建一个枚举类型的实例。
3.枚举类型的values()方法返回一个包含其所有内容的数组,对于枚举类型中的每个元素,ordinal()方法可以获得该元素的序号(从零开始)
4.enum中可以 ...