Spring+hibernate

Spring 中集成Hibernate 如果你需要做的事情无法通过Spring Data JPA来实现,那就必须要在一个比Spring Data JPA更低的层级上使用JPA。我们只需在必须使用较低层级JPA的方法上,才使用这种传统的方式即可,而对于Spring Data JPA知道该如何处理的功能,我们依然可以通过它来实现。我们可以看到,这里的动词是read,与之前样例中的find有所差别。有些时候,我们需要Repository所提供的功能是无法用Spring Data的方法命名约定来描述的,甚至无法用@Query注解设置查询来实现。 阅读详情
模拟one-to-one的时候出了点问题,看Hibernate文档:

There are two varieties of one-to-one association:

  • primary key associations

  • unique foreign key associations

Primary key associations don't need an extra table column; if two rows are related by the association then the two table rows share the same primary key value. So if you want two objects to be related by a primary key association, you must make sure that they are assigned the same identifier value!

Alternatively, a foreign key with a unique constraint, from Employee to Person, may be expressed as:

<many-to-one name="person" class="Person" column="PERSON_ID" unique="true"/>
有2种,主键相同/用many-to-one.
主键相同的时候不需要额外的column。如果2个表不共享一个主键,那么必须要注意,2个对象的主键必须相同!


另外出了一个问题:
分别保存关联的3个对象,在最后一个报错,大概意思是非法的将一个集合关联到2个session。找了半天,网上有说用merge()代替update()即解决了该问题。经过讨论分析,根本的原因是OpenSessionInViewFilter的singleton设置为false。
文档:
If set to false, each data access operation or transaction will use its own session (like without Open Session in View).

Alternatively, turn this filter into deferred close mode, by specifying "singleSession"="false": It will not use a single session per request then, but rather let each data access operation or transaction use its own session (like without Open Session in View). Each of those sessions will be registered for deferred close, though, actually processed at request completion.

A single session per request allows for most efficient first-level caching, but can cause side effects, for example on saveOrUpdate or if continuing after a rolled-back transaction. The deferred close strategy is as safe as no Open Session in View in that respect, while still allowing for lazy loading in views (but not providing a first-level cache for the entire request).










Spring集成Hibernate HibernateDaoSupport 包含HibernateTemplate 模板类,spring 对Hibernate再一次的封装, 使得代码可以更加简洁。声明式事务: 即在配置文件里,配置哪些方法是需要事务的。这些方法的事务的启动和提交,都交给 Spring 来处理。如果只是读取数据但不修改数据,可以设置read-only为true,对hibernate 可以有更好的优化。注意,dao的配置的parent 属性要设置成baseDao。业务操作可能是包含不同的dao的几个操作的。 阅读详情

相关推荐

Spring的ORM模块(结合Hibernate)

概述Spring的ORM模块对Hibernate、iBatis、JDO等ORM框架提供支持。 ORM模块依赖于dom4j-1.6.jar和antlr.jar,需要自己添加两个类库。 本篇文章以结合Hibernate为例。在Spring中Hibernate只是一个Bean 在Spring中,Hibernate的资源要交给Spring来管理。Hibernate和SessionFactory等只是

KevinLee的博客 3110

非web环境spring管理hibernate,延迟加载问题

[code="java"] /* * @(#)HibernateLazyResolver.java * * Copyright 2009 Xinhua Online, Inc. All rights reserved. */ package com.winxuan.framework.util.hibernate; import java.io.Serializabl...

abc9632147的博客 201

核函数——原理剖析

(Kernel Function)是机器学习和统计学中的一个重要概念,特别是在支持向量机(SVM)和其他基于核方法的算法中。核函数的主要作用是通过一个隐式的方式将数据映射到一个高维空间,从而使得在该高维空间中线性不可分的问题变得线性可分。没关系,现在让我们抛开一切无关的事情,花20分钟来认真领会一下,核函数的原理到底是什么。然后我们来说什么什么样的函数有资格称为核函数,也就是上面说的一个函数的内积矩阵是半正定矩阵。中的分布如左图所示。中是不可实现的,那如果我们将原始空间中的所有样本点,通过一个映射关系。

m0_70254540的博客 1587

用 OpenSessionInViewInterceptor 的思路解决 Spring框架中的Hib

众所周知, 为了解决 Hibernate Lazy 问题, Spring 中引入了 OpenSessionInViewInterceptor, 这样虽然解决了页面上的 Lazy Load 问题,却增加了各层之间的偶合性,如果一个 Lazy 的 Collection 在页面上可以被正确的 lo...

chiyingliao3565的博客 426

Android车载应用开发:Kotlin与Automotive OS深度实践

Android Automotive OS(AAOS)是Google专为车辆设计的操作系统,直接运行于车机硬件,提供完整的车载信息娱乐系统(IVI)。与Android Auto不同,AAOS允许开发者深度集成车辆硬件功能,如空调控制和传感器数据读取,同时遵循严格的驾驶安全规范。Kotlin作为开发语言,具备空安全设计、扩展函数和协程支持等优势,简化了开发流程。开发环境配置包括Android Studio、AAOS模拟器和Gradle配置,核心组件如CarAppService、Screen与模板系统,以及车辆

时小雨的专栏 3443

用Cadence IC618仿真双平衡吉尔伯特混频器:从原理图到后仿的完整避坑指南

本文详细介绍了在Cadence IC618环境中设计双平衡吉尔伯特混频器的全流程,包括原理图设计、仿真优化和版图实现。通过实战案例分享,重点解析了设计中的关键技巧和常见问题解决方案,帮助工程师高效完成高性能混频器设计,特别适合射频前端开发人员参考。

weixin_42656416的博客 161

Spring 和 Hibernate的集成

Spring对Hibernate的集成提供了很好的支持,Spring提供了对sessionfactory的初始化,用户不用再关心session的open,close,同时,Spring还提供了灵活的事务声明. 本文通过实例简单讲述如何在Spring中集成Hibernate. 1,将hibernate的配置加入到Spring的配置中(对datasource和sessionfactory进行配置)

交换一个思想,能得到俩思想 1万+

【STK】手把手教你利用STK进行导弹和反导仿真02 - STK/MMT模块01 导弹任务分析工具概述

种工具:导弹设计工具(Missile Design Tool,MDT )、导弹飞行工具(Missile Flight Tool,截弹,或者用内置拦截弹编辑器创建的个性化的拦截弹, IFT 能够对 ―一对一 ‖动能拦截。导设置系统参数, 并对其有效性进行验证, 画性能图,保证该设计是可行的。(SAIC)公司联合开发研制,极大扩展了 STK 原有的导弹对象的功能,能够精确仿真。IFT 能够对拦截飞机、 导弹、卫星等目标进行仿真和分析。(2)推进系统参数,包括推力,比冲,秒流量,推力持续时间,喷嘴出口面积,

weixin_44184852的博客 1876

Spring Hibernate集成示例教程(Spring 4 + Hibernate 3和Hibernate 4)

Spring is one of the most used Java EE Framework and Hibernate is the most popular ORM framework. That’s why Spring Hibernate combination is used a lot in enterprise applications. Recently I have writ...

从零开始的教程世界 530

【DRAM存储器六十四】DDR5介绍--preamble、postamble、interamble、刷新、power down、MPSM

简述DDR5 reamble、postamble、interamble、刷新、power down、MPSM的功能定义

highman110的博客 333

【51单片机仿真】基于51单片机设计的温湿度采集检测系统__资料编号11

该系统通过与AT89C51单片机、LCD1602显示屏和DHT11温湿度传感器的集成,实时读取环境中的温度和湿度数据并在LCD1602上显示这些信息,其中系统初始化LCD1602显示屏、通过DHT11_receive()函数接收并校验DHT11传感器的温湿度数据、使用LCD_ShowNum()函数逐位显示湿度和温度数据并在这些数据后附加相应的单位符号,以便用户可以直观地看到当前环境的温湿度情况。

嵌入式阿齐Archie 2万+

spring hibernate 整合 注解

Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行。spring:spring是J2EE应用程序框架,是轻量级的IoC(控制反转)和AOP(面向切面编程)的容器框架,主要是针对JavaBean的生命周期进行管理的轻量级容器,可

dxr970110的博客 2807

FPGA和USB3.0通信-USB3.0 PHY介绍

可以和FPGA搭配使用的USB3.0 PHY芯片通过之前的介绍<FPGA和USB3.0通信-USB3.0协议介绍USB3.0 PHY简介首先我们需要了解PHY具体完成哪些工作以及我利...

OpenFPGA的博客 4940

Spring 项目快速整合 Hibernate

Hibernate 作为前些年广为流行的 ORM 框架,Spring 在诞生之初也进行了支持,并且抽象出一个 spring-orm 模块。这篇希望用简短的内容介绍如何在 Spring 项目中整合 Hibernate。

大鹏的博客 3303

从登录到应用可见:在 SAP S/4HANA Cloud Private Edition 中创建用户与打通 SAP Fiori 权限的完整思路

在SAP S/4HANA系统中,用户创建远非简单的账号开通,而是涉及认证、授权、数据访问等多维度的复杂过程。用户主数据记录(User Master Record)是系统访问的起点,包含登录方式、角色分配等关键信息。认证解决"你是谁"的问题,授权则决定"你能做什么"。SAP Fiori访问链路涉及Launchpad内容分配、应用启动映射、OData服务权限等多层校验。角色(Role)通过PFCG维护,包含业务目录(Catalog)和空间(Space)等元素,共同构成完整

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 148

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Spring、Struts2、Hibernate整合

一、   Struts 2框架整合Spring步骤 工作之后这些框架很久都没接触了,作为备忘,记录一下,以后用到的时候方便查看 1、 复制文件。复制struts2-spring-plugin-x-x-x.jar和spring.jar到WEB-INF/lib目录下。其中的x对应了Spring的版本号。还需要复制commons-logging.jar文件到WEB-INF/lib目录下。

hantianjie_的专栏 999

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

spring对Hibernate的支持

spring对Hibernate的支持分为以下三个方面:(1.需要自己编写DAO的方式、2.继承HibernateDaoSupport类的方式、3.利用Hibernate3上下文的方式(JDK1.5以上才支持)的方式)一、 需要自己编写DAO的方式步骤:1. 配置数据源dataSource; 2. 配置SessionFactoryB

xiongwenhua365的专栏 757

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

hibernate、spring、c3p0整合

jar包,就把hibernate、spring、c3p0的所有的jar包都导入,否则可能会报某些类找不到。 spring配置文件: <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">

天元喜羊羊的博客 4912

spring5整合hibernate5

由于网上资源太少了,本人决定自己写一篇hibernate5整合spring5的教程。 本教程项目是基于maven来写,此处给出其项目配置文件pom.xml: 一、项目pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

良木 1580

【Spring】Spring+hibernate整合

整合目的: 将hibernate中的sessionFactory交给Spring创建 将hibernate中的事务交给Spring的声明式事务管理 整合准备: 导入jar包: hibernate核心jar包 spring-core相关包 spring-aop相关包 spring-orm相关包 编写实体类Dept package c

Evan_QB的博客 410

Spring集成hibernate

方式一:使用hibernate.cfg.xml配置sessionFactory hibernate.cfg.xml配置实例 true org.hibernate.dialect.Oracle9iDialect 0 50 10 false org.hibernate.hql.classic.ClassicQueryTranslatorFactor...

JamesZhao1987的专栏 205

spring和hibernate整合

Spring与Hibernate整合 Spring与Hibernate整合关键点: 1) Hibernate的SessionFactory对象交给Spring创建; 2) hibernate事务交给spring的声明式事务管理   有三种方式: 方式1  直接加载hibernate.cfg.xml文件的方式整合 方式2  连接池交给spring管理  【一部分配置写到hibern

sinat_35821285的博客 3825
上一篇: Windows下Web产品开发探讨
下一篇: googlepages!
跑得快的东东
博客等级 码龄23年 2粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值