关于Hibernate5的自定义会话工厂
来源:互联网 发布:重庆时时彩网络大平台 编辑:程序博客网 时间:2024/06/05 16:38
调了一下午的BUG
关于 is not mapped [hql]
参考链接: http://blog.csdn.net/y3wegy/article/details/7841214
使用hql语句当中的from对象一定是<class name>
才行。hql语法里面是POJO对象而不是table。
关于初始化自定义会话工厂
在定义会话工厂之前,有一个基本的hibernate的xml文档配置如下:
<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <property name="connection.username">root</property> <property name="connection.password"></property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql:///test?characterEncoding=UTF-8</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">update</property> <property name="hibernate.query.factory_class">org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory</property> <!--使用getCurrentSession方式打开--> <property name="hibernate.current_session_context_class">thread</property> <!--添加映射--> <mapping resource="entity/Users.hbm.xml"/> <!-- DB schema will be updated if needed --> <!-- <property name="hbm2ddl.auto">update</property> --> </session-factory></hibernate-configuration>
之后再对需要的Users类进行xml配置:
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping> <class name="entity.Users" table="users"> <id name="uid" type="java.lang.String"> <generator class="assigned"/> </id> <property name="username" column="username" type="java.lang.String"/> <property name="password" column="password" type="java.lang.String"/> </class></hibernate-mapping>
使用注解配置需要额外的jar包所以使用xml实现。然后开始进行自定义工厂类的建立:
package db;import org.hibernate.SessionFactory;import org.hibernate.boot.MetadataSources;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;/** * Created by allen on 2017/5/2. */public class MyHibernateSessionFactory { private static SessionFactory sessionFactory;//会话工厂属性 //私有构造方法 保障单例模式 private MyHibernateSessionFactory(){ } //公有静态方法 获得工厂对象 public static SessionFactory getSessionFactory(){ if(sessionFactory==null){ Configuration config=new Configuration().configure(); //方法有差异 ServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build(); sessionFactory=new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory(); return sessionFactory; }else { return sessionFactory; } }}
因为hibernate版本是5,所以很多地方和慕课网上的视频不一样。这里是我自己结合视频和网络资源整理出来的一个配置。
参考博文:http://www.cnblogs.com/miller-zou/p/5710826.html
0 0
- 关于Hibernate5的自定义会话工厂
- Hibernate5.2中关于Criteria的用法
- 关于hibernate5的一个小改动
- shiro的会话工厂SessionFactory
- 关于会话的statistics
- 关于会话的管理
- 关于Hibernate5.2之后createCriteria(),@deprecated(过时的)
- 关于hibernate5的映射文件和配置文件改变
- 关于天气的经典会话
- 关于会话的一些总结
- 关于会话的一些应用
- Hibernate5创建工厂回话类SessionFactory
- hibernate5.2.0的BUG
- hibernate5的初体验
- Hibernate5.2.5的配置
- 融云即时通讯的自定义会话列表
- Hibernate5
- Hibernate5
- 在阿里云 CentOS中安装wdcp以及WordPress
- Problem C: 给我一台计算机吧!
- MySQL
- 网上图片本地保存并进行压缩操作
- gdfzoj #547 diaosi(dp)
- 关于Hibernate5的自定义会话工厂
- Problem D: 从点到面
- BaseActivity集成的功能方法,总有一个是你需要的
- 模仿protobuf的对象序列化系统
- 剑指offer-35.数组中的逆序对
- 表达式求值 第九届河南省赛
- HEVC解码器HM源码阅读(二)解码器中类的介绍
- Map集合
- STL find 函数