java:LeakFilling(Hibernate)
1.关系型数据库:
Oracle / Mysql
数据持久化的技术:
IO JDBC XML ...
主流的持久层框架:
Hibernate
mybatis---->apache产品
JPA(由EJB 3.0软件专家组开发,奢侈,豪华的解决方案)--->Oracle
TopLink---->Oracle(DBA专业管理员)
JSF(JavaServer Faces (JSF) 是一种用于构建Java Web 应用程序的标准框架)
JDO(JDO(Java Data Object )是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API。)
2.Hibernate:ORM(对象关系映射)
一种经典的实现,持久层的框架。解决了面向对象语言与关系数据库不匹配的现象。
3.Hibernate.cfg.xml文件中:
格式化sql语句:
<property name="format_sql"> true </property>
创建+更新:
<property name="hbm2dd1.auto">update</property>
4.Hibernate三态:
A.瞬时态/临时态:
用户使用new关键字创建的对象,此时对象在内存中保存,数据中没有相关记录,session中也没有缓冲信息;
B.持久态:
当调用session中的持久化方法(save或save Or Update)时,对数据进行持久化,数据库中存在相应记录,并且seesion中也有对象的缓存信息;
C.游离态/离线状态:
由于session的关闭或清空导致对象脱离了session的管辖,数据库中存在相应的记录,但session中没有对象的缓存信息
5.操作Oracle数据库:
<id name="id">
<generator class="sequence">
<param name="sequence">
seq_id_supervision
</param>
</generator>
</id>
6.hbm.xml中:
cascude(级联):
save:级联新增
delete:级联删除
save-update:级联新增或修改
all:所有操作都级联
none:不级联
eg:cascude="all"
7.hbm.xml中:
inverse(控制反转):
代表关系维护的控制权是否反转,如果inverse值为true则代表将关系维护的控制权交与对方
eg:inverse="true"
8.hbm.xml中:
constrained(约束的):
eg:constrained="true",则代表一定得在这个属性对应的表中有数据并对应。
9. 一对多情况下在一的一方,inverse设置为true,cascade设置为none或不设置,本表数据添加成功,另一个表数据添加失败,console不报错;(没有维护权限,添加数据不会报错)
一对多情况下在一的一方,inverse设置为false,cascade设置为none或不设置,本表数据添加成功,另一个表数据添加失败,console报错。(拥有维护权限,添加数据会报错)
一对多情况下在一的一方,inverse设置为false,cascade设置,本表数据添加成功,另一个表数据添加成功,外键添加成功,console不报错。(拥有维护权限,同时又有级联,添加成功)
一对多情况下在一的一方,inverse设置为true, cascade设置,本表数据添加成功,另一个表数据添加成功,外键添加失败,console不报错。(没有维护权限,但有级联,本表数据添加成功,但另一个表外键会添加失败)
eg:
TestCode:
package cn.zzsxt.test3; import org.hibernate.Session;
import org.hibernate.Transaction; import cn.zzsxt.entity3.City;
import cn.zzsxt.entity3.Province;
import cn.zzsxt.utils.HibernateUtil; public class TestOneToMany {
public static void main(String[] args) {
Session session = HibernateUtil.getSession();
Transaction tx = session.beginTransaction(); City c1=new City();
City c2=new City();
c1.setCityName("郑州");
c2.setCityName("平顶山");
Province p1=new Province();
p1.setProvinceName("河南");
p1.getCities().add(c1);
p1.getCities().add(c2); session.save(p1);
tx.commit();
session.close(); }
}
10.String sql=" ";
sql中不能出现*不然报错
11.引号内不能直接加引用类型数据否则报错,基本类型不会,必须使用query.setString()方法赋值,从0开始,0代表第一个
.
java:LeakFilling(Hibernate)的更多相关文章
- java:LeakFilling(Other)
1.Java项目的API文档如何生成?请将步骤写出. javadoc 源文件名.java; 2.增加package以后,我们在DOS下编译怎么做? javac -d . Test.java 3.Jav ...
- java:LeakFilling(struts2)
1.mvc: 目的: 将展现和业务相分离. Model1:JSP+JavaBean Model2:MVC(JSP+Servlet+JavaBean) 优点: A.各司其职,互不干涉 B.有利于分工协作 ...
- java:LeakFilling(Spring)
1.配置文件总结: bean节点: id:用户自定义名称,用于标识当前对象,可以通过getBean(String id)从容器中获取该对象. class:要交给spring容器创建的对象的全类名(包名 ...
- java:LeakFilling(Springmvc)
1.后台可以同时多个对象接收前端页面的值:(如图两个都打印了) 2.参数绑定的注解,通过该注解可以解决参数名称与controller中形参名称不一致的问题: @RequestParam(name=&q ...
- java:LeakFilling(面向对象)
1.类的修饰符只能是:public,默认的.另外:final ,abstract,(修饰符 (只有:public, 默认,)interface+类名 ). 2.在main函数中创建对象时,new哪个 ...
- [3] 注解(Annotation)-- 深入理解Java:注解(Annotation)--注解处理器
转载 http://www.cnblogs.com/peida/archive/2013/04/26/3038503.html 深入理解Java:注解(Annotation)--注解处理器 如果没有用 ...
- [1] 注解(Annotation)-- 深入理解Java:注解(Annotation)基本概念
转载 http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html 深入理解Java:注解(Annotation)基本概念 什么是注解(An ...
- [2]注解(Annotation)-- 深入理解Java:注解(Annotation)自定义注解入门
转载 http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html 深入理解Java:注解(Annotation)自定义注解入门 要深入学习 ...
- 深入理解Java:注解(Annotation)自己定义注解入门
深入理解Java:注解(Annotation)自己定义注解入门 要深入学习注解.我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前.我们就必须要了解Java为我们提供的元注解和相关定义注解的 ...
随机推荐
- xss过滤方法
用的白名单过滤,是我们的论坛自用的方法,也许考虑不周,欢迎来黑我们的论坛!https://www.ebcms.com/forum.html // 安全过滤 function safe_html($ht ...
- hive不分区增量更新
insert overwrite table ods.zeg_so select *,case when zsm.id is not null then cast(current_timestamp ...
- python3 百度AI-v3之 人脸对比 & 人脸检测 & 在线活体检测 接口
#!/usr/bin/python3 # 百度人脸对比 & 人脸检测api-v3 import sys, tkinter.messagebox, ast import ssl, json,re ...
- jquery preventDefault()方法 语法
jquery preventDefault()方法 语法 作用:preventDefault() 方法阻止元素发生默认的行为(例如,当点击提交按钮时阻止对表单的提交).大理石平台价格 语法:event ...
- CodeForces - 28C Bath Queue 概率与期望
我概率期望真是垃圾--,这题搞了两个钟头-- 题意 有\(n\)个人,\(m\)个浴室,每个浴室里有\(a_i\)个浴缸.每个人会等概率随机选择一个浴室,然后每个浴室中尽量平分到每个浴缸.问期望最长排 ...
- CentOS 6.5上的Tomcat启动报错问题
最近在搭建虚拟机环境,装的是CentOSQL 6.5版本,然后装的OpenJDK1.7,在Apache下载了一个纯净的Tomcat放到虚拟机上启动报错了: 这里有两个错误: 1.第一个错误,APR的问 ...
- textarea 自动高度
textarea 自动撑开高度 var textAreaArr = document.querySelectorAll('.textarea'); for (var i = 0; i < tex ...
- WordPress 主题开发:从入门到精通(必读)
本专栏介绍如何开发设计你自己的 WordPress 主题.如果你希望了解更多如何安装和应用主题的内容,请参阅应用主题文档.本文的内容不同于应用主题,因为所讨论的是编写代码去构建你自己的主题的技术内容, ...
- springboot 项目中在普通类中调用dao层的mapper 出现空指针异常
项目中我遇到同样的问题 特记载一下 有两种方式 一. 该类使用@Component注解 添加一个本类类型的静态字段 创建一个初始化方法,贴上@PostConstruct 标签,用于注入bean 创建方 ...
- Miniui 表单验证
自定义表单验证: input输入框的表单验证可通过vtype和onvalidation事件两种方式实现 可编辑列表(例如div)的表单验证只能通过vtye来实现表单验证 (1)vtype方式: jsp ...