slf日志接口, 实现有slf4j nodep, log4j hibernate里我们一般用 log4j,所以删除之前创建的hibernate 包里的 slf4j-nop包, 加入log4j-1.2.17.jar 现在hibernate的包里有slf的api 的jar, 不能和log4j 自动匹配, 所以中间需要一个接口, 再加入 slf4j-log4j 的包 (1.5.8) 这样在运行界面就可以看到有建表等语句. ddl语句就出来了: 14:00:20,587 INFO SchemaExpor…
Hibernate基础配置 1.<property name="hbm2ddl.auto">update</property> 在SessionFactory创建时,自动将数据库schema的DDL导出到数据库. 使用 create-drop时,在显式关闭SessionFactory时,将drop掉数据库schema. 取值 update | create | create-drop 其实这个hibernate.hbm2ddl.auto参数的作用主要用于:自动创…
1.Hibernate.cfg.xml:hbm2ddl.auto 在SessionFactory创建时,自动检查数据库结构,或者将数据库schema的DDL导出到数据库 <property name="hbm2ddl.auto">create</property>  除了 create 还有其他取值,可以去查文档 a)先建表还是先建实体类 (理论先类,实际先表) 2.搭建日志环境并配置显示DDL语句(数据库定义语言:直接提交的)(就是SQL语句) 使用slf接口…
本章重点讲述Hibernate对象的三种状态以及如何配置二级缓存 有关Hibernate的三种状态如何相互转换网上都能查到,官方文档描述的也比较详细.这里主要是针对几个重点方法做代码演示. 一.状态转换 package learnhow; import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test; import util.HibernateUtil; import model.exa…
本来是想等全部框架测试完以后再统一发布的,但是随着测试的一点点增加感觉把需要叙述的东西放在一起终将会是一场灾难.所以还是打算分成几章来描述,其中还包括一些有待解决的问题.短期很难腾出时间来仔细阅读Hibernate 5.x以后版本的官方文档,只能先记录下来. 首先声明一点,我在写这篇文章的时候结合了5.0.6和4.3.11两个版本,结果发现新版有不少变化,一些在4.3.11中正常的功能在新版本之中有很大不同. 一.通过Maven引入依赖 <project xmlns="http://mav…
Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI 组件.甚至是套接口服务器.NT 的事件记录器.UNIX Syslog 守护进程等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程.最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码. 应项目需求,需要处理项目中某些java类所产生的跑批日志信息和平常操作产生的业务日志信息分开保存…
阅读前必看: ELK在docker下搭建步骤 spring boot集成es,CRUD操作完整版 ============================================== 本章集成ELK到spring boot,搭建日志系统 即,使用ELK对spring cloud分布式服务器集群日志做收集.汇总.分析.统计和检索操作. 那对于spring boot服务的日志 和 ELK的对接,就是通过Logstash来完成. 那spring boot的日志,如何能让logstash收集到呢…
本章主要是描述几种经典映射关系,顺带比较Hibernate4.x和Hibernate5.x之间的区别. 一.建立测试工程目录 有关实体类之间的相互映射关系,Hibernate官方文档其实描述的非常详细,这里只提供几种常见映射.(推荐4.3.11版本的 hibernate-release-4.3.11.Final\documentation\manual) 二.编写映射关系 (1)one2one单表内嵌映射: package model.family; import javax.persisten…
数据库表名和类名 一致 注解:可写可不写: XML:可写可不写: <class name="Student"> 不一致 注解:  public class Teacher ,注意导入的是 javax.persistence.Table: XML:  <class name="Student" table="_student"> . 字段名和属性名 一致 注解:@Basic / 不写,没有在字段上加注解相当于加了@Basic…
映射,注释可以放在成员变量上面,也可以放在get方法上面 写在成员变量的话 破坏了java的面向对象思维 直接让hibernate访问内部的私有元素 要是能直接设指不合适哈哈 所以主张写在get方法上 注意:一定要保证元素和get,set方法名称一致 hibernate类型 Junit在@Before建立抽象工厂时候有时候会出现错误,最好的解决办法是在方法里加 try catch 如果这样写之后还解决不了 就加main方法  调用beforeclass方法.…