Hibernate 随记(数据库映射流程)
<session-factory>
<property name="hibernate.connection.username">root</...>
<property name="hibernate.connection.password">123</...>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</...>
<property name="hibernate.connection.url">jdbc:mysql://loaclhost:3306/TABLE?useUnicode=true&characterEncoding=utf-8</...>
<property name="hibernate.dialect">org.hibernate.dialtct.MySQLDialect</...> <property name="show_sql">true</...>
<property name="format_sql">true</...>
<property name="hbm2ddl.auto">assigned</...>
</session-factory>
<hibernate-mapping>
<class name="com.entity.Grade" table="GRADES”>
<id name="gid" column="SID" type="java.lang.Integer">
<generator class="increment"></generator>
</id>
<property name="gname" type="java.lang.String">
<column name="GNAME" length="20"></column>
</property>
<property name="amount" type="java.lang.Integer">
<column name="AMOUNT"></column>
</property>
<!-- 一对多需配置set -->
<set name="student"(Grade中属性,实体类)table="STUDENTS">
<key column="gid"></key>
<one-to-many class="com.entity.Student"/>
</set>
</class>
</hibernate-mapping>
<many-to-one name="grade"对应属性 class=”com.entity.Grade" column="grade">
</many-to-one>
<session-factory>
.......... <mapping resource="src/com/entity/Grade.hbm.xml"/>
<mapping resource="src/com.entity/Student.hbm.xml"/>
</session-factory>
- 利用configuration创建sessionFactory对象;
- 通过sessionFactory创建session对象;
- 通过sessionFactory获取session(openSession方法或getCurrentSession方法);
- 通过session开启transaction事务(beginTransaction方法);
- 操作数据库:sesison.save()/get(Student.class,id)/load()/delete();
- 提交事务:transactoin.commit();
- 关闭session;
Hibernate5.2的session创建:
.....
ssr = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
sessionFactory = new MetadataSources(ssr).buildMetadata().buildSessionFactory();
session = sessionFactory.openSession();
......
操作过程中基本摆脱数据库语句,只是对持久化类操作后进行事务的提交。各版本session创建方法待补充
Hibernate 随记(数据库映射流程)的更多相关文章
- Eclipse从数据库逆向生成Hibernate实体类和映射文件(Eclipse插件系列之HibernateTools)
♣下载安装Eclipse插件(HibernateTools) ♣Eclipse连接数据库(Mysql5.7) ♣新建hibernate.properties和hibernate.cfg.xml文件 ♣ ...
- [转载]Hibernate如何提升数据库查询的性能
目录(?)[-] 数据库查询性能的提升也是涉及到开发中的各个阶段在开发中选用正确的查询方法无疑是最基础也最简单的 SQL语句的优化 使用正确的查询方法 使用正确的抓取策略 Hibernate的性能优化 ...
- Hibernate连接mysql数据库并自动创建表
天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个 ...
- Hibernate入门3.配置映射文件深入
Hibernate入门3.配置映射文件深入 2013.11.27 前言: 之前的两节是在Java项目中如何使用hibernate,并且通过一个简单地项目实践,期间有很多的错误,一般都是因为配置包的问题 ...
- Hibernate联合主键映射
1.联合主键的映射规则 1) 类中的每个主键属性都对应到数据表中的每个主键列. Hibernate要求具有联合主键的实体类实现Serializable接口,并且重写hashCode与equals方法, ...
- Hibernate一对一双向关联映射
关键原因在于对象模型具有方向性: 单向:一端只能加载另一端,不能反过来. 双向:两端都可以加载另一端. 问题来了:如何我们想从身份证端(IdCard)加载人(Person),怎么办呢? 下面我们开始介 ...
- Hibernate之1-N关联映射
一.Hibernate之1-N关联映射 1. 哪边是 1 , 哪边是多 ? 须要从业务的角度来说明.比如,Employee 和 Department 之间就是 n-1 的关联关系,Order ...
- zTree市县实现三个梯级数据库映射
zTree市县实现三个梯级数据库映射 Province.hbm.xml: <?xml version="1.0" encoding="UTF-8"? &g ...
- 快捷配置Hibernate实现对数据库的配置(构建通道)
在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层.它通过配置文件(hibernate.properties或hibernate.cfg.xml)和映射文件(* ...
随机推荐
- 通过npm安装 Cordova
通过npm安装 Cordova 首先请确保你在本地已经安装了NodeJS(可以调用npm命令), 并且是联网状态的.如果不知道如何安装NodeJS, 请参考 ”四步完成NodeJS安装,配置和测试”. ...
- LeetCode 4 Median of Two Sorted Arrays 查找中位数,排除法,问题拓展 难度:1
思路:设现在可用区间在nums1是[s1,t1),nums2:[s2,t2) 1.当一个数组可用区间为0的时候,由于另一个数组是已经排过序的,所以直接可得 当要取的是最小值或最大值时,也直接可得 2. ...
- VBA续嘘嘘
什么是VBA?它有什么作用? A.实现Excel中没有实现的功能. B.提高运行速度. C.编写自定义函数. D.实现自动化功能. E.通过插入窗体做小型管理软件. VBA在哪里存放的?怎么运行? A ...
- CVPR历年Best Papers
作者:我爱机器学习原文链接:CVPR历年Best Papers CVPR (Computer Vision)(2000-2016) 年份 标题 一作 一作单位 2016 Deep Residual L ...
- css 之 文本缩进属性(text-indent)
文章转自:http://www.10wy.net/Article/CSS/CSS_list_8.html查看更多更专业性的文章请到:网页设计网 文本缩进属性(text-indent) 这个属性设定文本 ...
- ORA-06552: PL/SQL: Compilation unit analysis terminated ORA-06553: PLS-553: character set name is not recognized
首先,确认字符集是否修改的不彻底.SELECT DISTINCT (NLS_CHARSET_NAME(CHARSETID)) CHARACTERSET,DECODE(TYPE#, 1, DECODE( ...
- Two Sum (c#)
Given an array of integers, find two numbers such that they add up to a specific target number. The ...
- 使用strace 工具跟踪系统调用和信号
使用strace来执行程序,它会记录程序执行过程中调用,接收到的信号,通过查看记录结果,就可以知道程序打开哪些文件,进行哪些读写,映射哪些内存,向系统申请多少内存等信息 strace 移植 下载str ...
- web开发中常用的技术体系
HTML html(HyperText Markup Language)超文本标记语言"超文本"就是指页面内可以包含图片.链接.程序等非文字元素. 超文本标记语言的结构包括&q ...
- Kindle使用的一些方法
最大的好处就是方便,买书便宜,到手我就买了六部书,十块钱不到,以纸书的价格一本都买不到,能够买一些一直想读一下,但又担心读不下去的书.而且买了之后完全不用担心书柜收纳不下了.另外很轻便,放在包里上下班 ...