Role.java
package com.hw.dao;
import java.io.Serializable;
import java.util.Set;
public class Role implements Serializable {
private int rid ;
private String name;
private Set<Users> users;
//get set 方法
}
Role.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.hw.dao">
<class name="Role" table="ROLE">
<id name="rid">
<column name="RID"></column>
</id>
<property name="name">
<column name="NAME"></column>
</property>
<set name="users" cascade="all">
<key>
<column name="RID"></column>
</key>
<one-to-many class="Users"/>
</set>
</class>
</hibernate-mapping>
Users.java
import java.io.Serializable;
public class Users implements Serializable{
private int id;
private String username;
private String password;
private Role role; //★
//get set 方法
}
Users.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.hw.dao">
<class name="Users" >
<id name="id">
<column name="ID"></column>
</id>
<property name="username">
<column name="USERNAME"></column>
</property>
<property name="password">
<column name="PASSWORD"></column>
</property>
<many-to-one name="role" class="Role" >
<column name="RID"></column>
</many-to-one>
</class>
</hibernate-mapping>
测试类
public class test {
public static void main(String[] args) {
Configuration cf = new Configuration().configure();
SessionFactory sf=cf.buildSessionFactory();
Session s=sf.openSession();
/**
s.beginTransaction();
Role role= new Role();
role.setRid(1);
role.setName("admins");
Set<Users> set= new HashSet<Users>();
Users user= new Users();
user.setId(1);
user.setUsername("jack");
user.setPassword("123");
set.add(user);
Users user1= new Users();
user1.setId(2);
user1.setUsername("jacks");
user1.setPassword("456");
set.add(user1);
role.setUsers(set);
s.save(role);
s.getTransaction().commit();*/
/**
String hql="from Role";
Query query=s.createQuery(hql);
List<Role> list=query.list();
for (Role role : list) {
System.out.println(role.getRid()+ " "+role.getName());
Set<Users> set =role.getUsers();
for (Users user : set) {
System.out.println(user.getId()+" "+user.getUsername()+" "+ user.getPassword()+" "+user.getRole().getRid());
}
}*/
String hql="from Users";
Query query= s.createQuery(hql);
List<Users> list=query.list();
for (Users user : list) {
System.out.println(user.getId()+" "+ user.getUsername()+" "+ user.getPassword() +" "+ user.getRole().getRid()+" "+ user.getRole().getName());
}
}
}
分享到:
相关推荐
深入理解hibernate的缓存问题和配置,提高使用hibernate的效率
2 1+N问题 (典型的面试题) (详见 hibernate_2800_Hibernate_1+N项目) 3 list和iterate不同之处(//主要为了面试 详见hibernate_2900_Hibernate_list_iterate) 4 一级缓存和二级缓存和査询缓存(面试题)(详见...
Spring Hibernate查询实用程序Spring应用程序中不再有N + 1个查询Spring Hibernate Query Utils:一种在Spring / Hibernate应用程序中检测N + 1查询并计算查询次数的简便方法·目录用夹具测试检测配置使能够错误等级...
Hibernate处理1-N关系时保存技巧、Hibernate缓存机制、Hibernate批量处理数据、Hibernate三种继承映射策略、hibernate映射体系、Hibernate主键生成策略、持久层DAO设计建议、基于xml文件的bean、使用HibernateAPI在...
我培训用的 Hibernate课件, 个人能力范围内精心整理,图文并茂. 希望能对大家学习 Hibernate 提供帮助. 这是第二篇, 内容如下:Hibernate配置文件;jdbc.fetch_size;...关联关系映射:双向 1-N;继承映射
Hibernate 可以对类的属性或者方法进行注解。属性对应field类别,方法的 getXxx()对应property类别。 定义表 通过 @Table 为实体Bean指定对应数据库表,目录和schema的名字。 @Entity @Table(name="tbl_sky") ...
POJO 1Hibernate ³äøõñ.uQ°n@R!Domain Object (T%ä]° ïxm get/setm) 9ê!POJOnÏnÙ!“Plain Ordinary Java Object”i´ñÂÒxnϼ rJava @ i Wæ!bøõñ7áŧ÷g!ò@ (Value ...
观看-间隔1卷曲-静默-显示错误-包括-最大时间1 要设置开发环境,请下载Gradle并将其扩展到您的主目录,然后在IntelliJ IDEA中进行配置 下载: 运行:echo“ org.gradle.daemon = true” >>〜/ .gradle / gradle....
这是本人参照Hibernate官方文档,将里面的关系映射(1-1、N-1、1-N、N-N)全部做了一遍,包括Junit单元测试,读者只需要修改hibernate.cfg.xml中的资源路径和数据库配置就可以正确运行此程序,祝学习愉快。
-- 此处hibernate 的映射 采用的是.xml 配置同则应设置具体配置文件名(*.hbm.xml)</value>--> </list> </property> <!-- 事务配置管理 --> ...
web.xml(仅写出中文处理部分,spring的配置不用改变) <filter-name>encodingFilter <filter-class>org.springframework.web.filter.CharacterEncodingFilter <init-param> <param-name>encoding...
1.STRUTS2乱码,解决方法是在struts.xml中加入 <constant name="struts.i18n.encoding" value="gb2312" /> 2.验证失败一次后就连续验证失败 (即使密码正确) 这个属于与Spring整合的问题,Spring容器在初始化对象的...
对于java初学者学习完java基础之后,将深入学习框架,对于hibernate所需要的一些jar包和配置文件进行一个归纳!
1.使用struts2+spring3+hibernate3整合实现用户CRUD功能。 2.使用技术 A.Struts2国际化(i18n)、本地化程序。 B.文件上传下载 C.DWR集成 D.Struts2异常处理 3.实现方式 基于配置文件
简介 在orm框架中,比如hibernate和mybatis都可以设置关联对象,比如user对象关联dept ...dept,是n次,所以是n+1问题,其实叫1+n更为合理一些。 mybatis配置 UserMapper.xml <result column
3.hibernate的配置文件(hibernate.cfg.xml)得存在 4.POJO.hbm.xml文件存在 5.hibernate的jar包以及数据库的驱动包存在 Hibernate的编程: 1.构建Configuration对象读取配置文件 2.读取映射文件 3.构建SessionFactory...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 17.介绍一下Hibernate的二级缓存 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, ...
part1 :http://download.csdn.net/detail/vision_n/4202910 李刚老师的经典之作 《轻量级java ee企业应用实战(第3版)—struts 2+spring 3+hibernate整合开发》 第1章 java ee应用和开发环境 1 1.1 java ee应用...
第1章 java ee应用和开发环境 1 1.1 java ee应用概述 2 1.1.1 java ee应用的分层模型 2 1.1.2 java ee应用的组件 3 1.1.3 java ee应用的结构和优势 4 1.1.4 常用的java ee服务器 4 1.2 轻量级java ee应用相关...