我们在使用 Hibernate 时一般只会关注是否显示生成的 SQL 语句,不过有些时候还不够.默认时 Hibernate 执行的 SQL 语句是打印在控制台上的,它也可以配置为输出给 Log4J 或是 Log4Back,还能显示出更详细的参数和取值信息.这里简单讲来. Hibernate 的配置文件 hibernate.cfg.xml 里提供有三个有关显示 SQL 的配置项,如果是与 Spring 联合,也可以配置到 Spring 的配置中.它们的取值是 boolean 值. 1) hiber…
前言 使用 pytest.mark.parametrize 参数化的时候,加 ids 参数用例描述有中文时,在控制台输出会显示unicode编码,中文不能正常显示. 使用 pytest_collection_modifyitems 钩子函数,对输出的 item.name 和 item.nodeid 重新编码. 问题描述 参数化 ids 用例描述有中文 import pytest # test_ids.py import pytest # 作者:上海-悠悠 def login(username,…
J2EE进阶(十六)Hibernate 中getHibernateTemplate()方法使用   spring 中获得由spring所配置的hibernate的操作对象,然后利用此对象进行,保存,修改和删除等操作,此方法是在配置了spring以后,hibernate由spring接管,不直接使用hibernate的session了.   HibernateTemplate提供非常多的常用方法来完成基本的操作,比如通常的增加.删除.修改.查询等操作,Spring 2.0更增加对命名SQL查询的支…
配置Hibernate 二级缓存时,出现以下bug提示: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.Exception…
  (转载)Spring Boot + JPA(hibernate 5) 开发时,数据库表名大小写问题   这几天在用spring boot开发项目, 在开发的过程中遇到一个问题hibernate在执行sql时,总会提示表不存在. 寻找之后发现, 建表时,表统一采用了大写.hibernate会把大写统一转换成小写.且 mysql在 linux下 大小写敏感. 解决: 1. 尝试修改mysql的cnf文件,改成不区分大小写.修改完成之后发现问题并没有解决,还产生了新的问题,表名无论大小写都失败了.…
在配置hibernate.cfg.xml时需指定使用数据库的方言: 例: <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> 以下是各数据库对应的方言(Dialect): 数据库 方言(Dialect) DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect D…
hibernate执行createSQLQuery时字段重名的问题 不同表关联 ,表字段重名 =>之前若 as 别名 会自动区分 但有一次签移到新服务器  mysql 5.5上: 若字段重名:重名字段值会变成第一个字段值, 试了多种方法解决:最后以重名字段加 trim(字段)或concat(字段) 会自动区分…
目录(?)[+] IT程序员开发必备-各类资源下载清单,史上最全IT资源,个人收藏总结! 之前有一篇文章中(Hibernate反向工程步骤及DAO Type无法选择Spring DAO解决方法)提到,对于Hibernate在反向工程时无法选择Spring DAO Type的情况,只需选择项目右键 -> Properties -> MyEclipse -> Spring,在Config file extensions处填写xml,然后点击Add,根据目录选择Spring的总配置文件appl…
最近在研究系统启动时将数据加载到内存非常耗时,想着是否有办法优化!经过日志打印测试发现查询时间(查询时间:将数据库数据查询到系统中并转为List<Map>或List<*.Class>,下面将全部针对转化类型为List<Map>进行分析)居然和数据加载时间一样长(加载时间:将查询到的数据组装成系统中业务所需要的数据模型,基本调用了所有key为get/set方法).由此我觉得系统查询时间是有优化的空间的,并通过两个周末对此进行了研究学习并优化此问题,一下是整体流程: 1.疑…
在实际业务场景中,当前台通过 url 向后台传送多个参数时,可以将参数封装成一个bean类,在bean类中对各个参数进行非空,默认值等的设置. 前台 url ,想后台传送两个参数,userName 和 password: http://localhost:8082/web/baseAction.do?pathVar=app/task/fetchItemDetail.do?userName=123&password=123 将参数封装成bean 类,并在bean类中对参数进行控制: import…
1.0  Maven 执行Javadoc时控制台输出乱码问题 问题描述 最近项目中使用maven-javadoc-plugin生成javadoc时,myEclipse控制台乱码. 插件配置 问题分析 检查maven输出时采用的编码格式 很显然maven默认输出采用GBK编码 myEclipse控制台输出编码,默认采用的是工作空间的编码格式. 改为 结果如下: 来自:http://www.cnblogs.com/albert-sun/archive/2013/03/21/2973993.html…
bs-web项目时会经常打断点跟踪信息,可是循环时总是F10.F10的按,那么把所数据打印出来查看会更方便 一.打断点的方式适合在有错误产生的时候用很好用. 二.可是在分析数据时不直观,得一个一个循环跟踪查看,所以才想起来把信息输出来,进行分析数据的正确性. 1.再Debug把信息输出来可不是用Console.WriteLine()了.而用下面的代码: System.Diagnostics.Trace.WriteLine(DateTime.Now.ToString(BaseSystemInfo.…
使用WebLogic时控制台输出中文乱码解决方法 1.找到weblogic安装目录,当前项目配置的domain 2.找到bin下的setDomainEnv.cmd文件 3.打开文件,从文件最后搜索第一个set JAVA_OPTIONS=%JAVA_OPTIONS%(应该是倒数第四行,空行除外),修改为set JAVA_OPTIONS=%JAVA_OPTIONS%   -Dfile.encoding=utf-8 4.保存文件,重新启动服务…
写在前面 本篇主要讲述日志配置,看完本篇可以解决下述问题, 控制台输出日志.生成日志文件.日志级别修改.hibernate日志不输出 Git Demo Path:https://github.com/MingHaiTian/springboot-start.git -------------------------------------------------------------------------------------------------------- 正文开始 spring-…
原文:sqlserver 出现sql被锁时,查看加锁和被锁的sql DECLARE @spid INT DECLARE @blk INT DECLARE @count INT DECLARE @index INT DECLARE @lock TINYINT   SET @lock=0   CREATE TABLE #temp_who_lock   (      id   INT IDENTITY(1, 1),      spid INT,      blk  INT   )   --if @@e…
转自:https://www.iteye.com/blog/zwdsmileface-2191943 getHibernateTemplate()常用方法 一.find(String queryString);         示例: this.getHibernateTemplate().find("from bean.User"); 返回所有User对象   二.find(String queryString , Object value);         示例: this.ge…
Hibernate判断某属性不为null 且不可为空时出现Property path [...] does notreference a collection 的问题 处理空的方法: isNotEmpty(propertyName).isNotNull(propertyName) 但是此时报都会报Property path [...] does notreference a collection异常 此时需要将不为空或空查询改为Property.forName("isCancelled"…
原因很简单,问题在于我连接mysql用的url时,没有指定字符集,导致查询不到任何数据 问题出在 hibernate.xml配置文件中: 将 <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/wdyedu"/> 修改为: <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/wdyed…
用hibernate做数据库插入操作时,在数据库端已经设置了对应列的默认值,但插入的数据一直为null.查找资料发现,原来是hibernate的配置项在作怪. Hibernate允许我们在映射文件里控制insert和update语句的内容.比如在映射文件中<property 元素中的update属性设置成为false,那么这个字段,将不被包括在基本的update语句中,修改的时候,将不包括这个字段了.insert同理.dynamic动态SQL语句的配置也是很常用的.下面介绍配置SQL语句的具体属…
在学习Hibernate框架的关系映射时,遇到了一个问题: INFO: HHH000422: Disabling contextual LOB creation as connection was null 在网上找了一下原因,以下是网上找的原文: 毕竟hibernate是有名的ORM框架,所以还是学着用一用,结果还是出了不少问题,文档啊文档,你就不能及时更新么. 首先在创建一个全局的SessionFactory中,文档中的示例代码是这样的,但这个是不能成功运行的,需要在try块中稍微改一下 p…
1.背景 之前从没用过hibernate,因此在网上搜了一下hibernate快速入门方面的信息,最后我按照<Myeclipse Hibernate 快速入门 中文版>(CSDN,百度文库都有)一文开始了我的hibernate之旅(为项目做技术准备). 下面是在学习使用时用到的三个开发工具(Myeclipse , Mysql , SQL-Front)及其版本说明: Myeclipse版本为6.5(没用最新的Myeclipse8.5,这是由于之前组里的项目都是在Myeclipse6.5中开发的,…
第一次用hibernate自动生成表,涉及到多个表的外键,用到了@OneToMany和@ManyToOne注解碰到了几个错误. 首先声明一个基础,@OneToMany和@ManyToOne两个注解没有必要一一对应 第一个问题:@OneToMany和@ManyToOne的区别 使用@ManyToOne时是在本类对应的数据库表中生成字段,比如项目经理类和程序员类,一个项目经理下管理多个程序员, 也就是在这个Programmer对应的表t_programmer中生成字段“mid”: 而@OneToMa…
在删除主表数据时,报了一个异常 Cannot delete or update a parent row: a foreign key constraint fails 原因是主表中还包含字表的数据,不能删除与这张表或数据有关联的字段,所以无法删除 解决办法:在创建数据库的外键时,将删除的动作配置由RESTRICT改成cascade,就可以解决.…
1.在需要使用Hibernate框架技术的项目上单击鼠标右键,在弹出的菜单中选择MyEclipse-->Add Hibernate Capabilities,打开Add Hibernate Capabilities对话框 2.在Hibernate Specification后面的单选按钮中选择你需要使用的Hibernate框架的版本,我这里使用的是Hibernate 3.1版本,然后点击Next>按钮进行下一步操作: 3.点击Next>进行下一步操作: 4.在下图中的DB Driver:…
基本情况: (这些其实关系不大)我是直接impor导入HibernateDemo项目到eclipse中的,该项目的hibernate版本是3.6.7.Final版,使用了Hibernate Tools插件(我的是在线安装的最新版),MySql驱动按照步骤正常部署进去,不过由于jdbc的版本不同,我给把原来lib文件夹的jar包删了用了自己的.出现问题:The type java.lang.Object cannot be resolved. It is indirectly referenced…
1.java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor 缺少asm-3.3.jar 2.java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor 缺少asm-commons-3.3.jar 3.java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfig…
在使用hibernate对象关系映射连接和创建表的时候,会涉及到很多权限问题,有些数据库管理会将权限设的很细,我们可以根据后台日志错误和异常信息作出判断. 比如下图所示这个错误(这是我在给银行投产系统上线碰到的数据库问题之一),首先定位到第一个error信息处,可以看到 是一个 select 查询语句出问题了,说没有这个表,这张表是 v$parameter 表,就是动态字典表,也即是视图表. 在连接这个数据库的时候,已经 grant  create  view  to   user 了,但是还是…
1.先修改mysql数据库的配置文件my.ini,此文件放在mysql安装文件的根目录下.找到default-character-set属性,并将其值更改为utf8(不是utf-8),将default-character-set属性全部属性的值修改为utf8. 2.在mysql里创建新的数据库,显示设置数据库的编码格式,sql语句:create database MyDatabase charset=utf8; 3.配置hibernate.cfg.xml文件里的连接字符串: <property…
意思是,一个非null属性引用了一个null或瞬态值.就是在对应实体类配置文件hbm.xml中该属性配置了not-null="true",将其去掉即可.…
hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制数据类型,因为很多种类型映射都有重复的 标签: hibernatejavacalendarsqlstringdate 2011-09-21 22:51 9358人阅读 评论(0) 收藏 举报  分类: hibernate(9)  hibernate映射类型  在对象/关系映射文件中,Hibernat…