- 浏览: 496730 次
- 性别:
- 来自: 苏州
最新评论
-
aduo_vip:
支持博主,好文!正好需要了
java怎样读写和修改XML文件?? -
默默pig:
楼主,您好。有个语法想问一下:引用你原文中“<resul ...
Struts2中redirect基本的经验之谈 -
Andrew0721:
road_16 写道楼主你好,你说到
redirect:act ...
Struts2中redirect基本的经验之谈 -
zhengkunsheng:
Struts2中redirect基本的经验之谈 -
road_16:
楼主你好,你说到
redirect:action处理完后重定向 ...
Struts2中redirect基本的经验之谈
文章列表
多对一 (员工-部门):
多个员工所于同一个部门,一个部门有多个员工,在Hibernate中用代码实现如下:
部门类 (Department.java):
public class Department {
private int id ;
private String name ;
...getter/setter
}
员工类 (Employee.java):
public class Employee {
private int id ;
...
- 2009-07-22 11:09
- 浏览 1048
- 评论(0)
Hibernate中的主要关联关系:
. 多对一
. 一对多
. 一对一
. 多对多
. 集合映射
. 组件映射
- 2009-07-22 10:39
- 浏览 1055
- 评论(0)
Criteria 查询更像是一种面向对象的查询方式,其没有类似SQL语句的查询语句,如下:
Criteria c = s.createCriteria (User.class); // 类
c.add (Restrictions.eq ("name",name)); // 添加查询条件,此处的eq代表等于,还有大于,小于等,第一个参数代表Java类中的属性,后者则表示传递的值
从上面代码看出,其更像一种面向对象的查询
- 2009-07-21 15:33
- 浏览 1057
- 评论(0)
如下Query提供的方法可以实现分页:
1. setFirstResult
从第几条开始取记录
2. setMaxResult
一次取多少条记录
使用此方法进行分页,具有可移植性,下面写一段代码:
HibernateUtil.java
private static final SessionFactory sessionFactory;
static {
sessionFactory = new configuration.buildSessoinFactory();
//如 ...
- 2009-07-21 15:23
- 浏览 2132
- 评论(0)
如下:
......
String hql = "from user where name=? and sex=? and ....";
Query q = s.createQuery (hql);
q.setString (0,name);
q.setString (1,sex);
......
从上段代码可看出,如果where后面的参数过多,在进行匹配的时候容易混淆,所以产生了HQL的命名参数,如下:
......
String hql = "from user where name = :name and ...
- 2009-07-21 15:02
- 浏览 2162
- 评论(0)
在Hibernate中有一个类名为user,所以在进行关系映射生成表的时候会再数据库中建立一个名为user的表,但是在oracle数据库中,user是关键字,故会发生冲突,如下:
...
<class name="user" table="user">
<id name="id">
<generator class="nativ ...
- 2009-07-21 14:54
- 浏览 2079
- 评论(0)
以前写代码,总免不了编写登陆部分。在获取user的时候,只可能返回一个user实例,或者为null。以前使用以下方法实现。
Java代码
public User get(String id){
Session session=HibernateUtil.getSessionFactory().openSession();
String hql="from User u where u.id = ?";
List list=session.createQuery(hql).setString(0 ...
- 2009-07-21 14:44
- 浏览 7646
- 评论(0)
1. HQL是对象的查询语言,不同于SQL,HQL区分大小写,HQL查的是对象而不是表,HQL主要通过Query来操作:
Query q = session.createQuery (hql);
。 from Persion;
。 from User user where user.name = :name;
。 from User user where user.name = :name and user.birthday < :birthday;
2. Criteria也是一个面向对象的查询语言,创建方式如下:
...
- 2009-07-21 14:30
- 浏览 1353
- 评论(0)
对象一般分为3中状态:
1. 瞬时状态(transient):数据库中没有与之对应的值,超过作用域被JVM回收,一般是new出来且与session无关的对象
2. 持久状态(persistent):数据库中有鱼之对应的值,当与session有关联,并且当前的session没有关闭,事务没有提交;持久状态发生变化,在事务提交时会影响数据库(Hibernate能检测到)
3. 托管状态(detached):数据库中有与之对应的值,但当前没有session与之有关联;托管对象发生改变,Hibernate不能检测到
- 2009-07-21 13:45
- 浏览 1062
- 评论(0)
Session中的几个主要方法:
1. save,persist保存数据,persist在事务外不会产生insert一句
2. delete删除对象
3. update更像对象,如果数据库中没有数据,则抛出异常
4. get根据ID查询,会立刻访问数据库
5. load根据ID查询,返回代理,不会立即访问数据库
6. saveOrUpdate,merge根据ID和version的值确定是save还是update
7. lock把对象变为持久对象,但不会同步对象的状态
- 2009-07-21 13:37
- 浏览 1135
- 评论(0)
Hibernate中有两个极为相似的方法get()与load(),他们都可以通过指定的实体类与ID从数据库中读取数据,并返回对应的实例,它们间的不同在于:
1. get是直接查询数据库,如果查不到就返回null,Load会首先从内存中装 ...
- 2009-07-21 13:25
- 浏览 1199
- 评论(0)
Hibernate中的Session与JSP中的四个作用范围之一的Session不同。
Hibernate中的Session是Hibernate中核心,它负责Hibernate所有操作数据的部分,比如:save、update方法等。
jsp中的session是一个可以理解为会话级的存储变量,是web间信息互访的载体,而Hibernate中的session一个全新的概念,可以理解为数据库层和持久化层的互访载体,也可以认为是一个缓冲器,对数据库的所有CURD操作在这个session(缓存)中都有记录,一旦做个清理缓存操作,则所有对持久化对象的操作都将映射到具体的某个数据库中,完 ...
- 2009-07-21 12:31
- 浏览 1087
- 评论(0)
在使用Hibernate中,都需要如下操作:
1. 知道Hibernate配置 Configuration config = new Configuration().configure() ;
2. 从配置中取得SessionFactory SessionFactory factory = config.buildSessionFactory() ;
3. 从SessionFactory中取得一个session this.session = factory.openSession() ;
一般调用Hibernate都需要这些步骤,如 ...
(1)Ctrl+M切换窗口的大小(2)Ctrl+Q跳到最后一次的编辑处(3)F2当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip Description。 F3跳到声明或定义的地方。 F5单步调试进入函数内部。 F6
- 2009-07-21 10:32
- 浏览 855
- 评论(0)
如果是eclipse的 .提示功能没有了,照下边这样设置
window->Preferences->Java->Editor->ContentAssist->Advanced 上面的选项卡Select the proposal kinds contained in the'default' content assist list: 中把 Other Java Proposals 选项打上勾就可以了。
如果是想通过输入其他字母也达到输入点后的效果,看下面文章:
怎么设置使MyEclipse的代码提示功能一样能像Microsoft Visual Studio的 ...
- 2009-07-21 09:54
- 浏览 1261
- 评论(0)