Hibernate配置
来源:互联网 发布:爱淘宝红包链接 编辑:程序博客网 时间:2024/06/05 09:12
1.部署
将Hibernate解压后lib下required的所有jar包导入工程中,其余文件夹的jar包可根据实际需要导入。
2.在src下创建hibernate.cfg.xml配置文件
hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property> <property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433;DatabaseName=goodsmessage</property> <property name="hibernate.connection.username">mike</property> <property name="hibernate.connection.password">mike</property> <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property> <mapping resource="conn/User.hbm.xml"/> <mapping resource="conn/Goods.hbm.xml"/> <mapping resource="conn/Orders.hbm.xml"/> <mapping resource="conn/Cart.hbm.xml"/> <mapping resource="conn/SuperType.hbm.xml"/> <mapping resource="conn/SubType.hbm.xml"/> </session-factory></hibernate-configuration>
3.创建数据库表所对应的类,并编写或使用工具生成对应的hbm.xml文件
User.java
package conn;public class User {private String username;private String pwd;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}}
User.hbm.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="conn.User" table="users"> <id name="username" type="java.lang.String"> <column name="username" /> <generator class="assigned"/> </id> <property name="pwd" type="java.lang.String"> <column name="pwd" /> </property> </class></hibernate-mapping>
<generator class="assigned"/>指定了主键生成方式。
native:由数据库对id赋值,Hibernate根据数据库适配器的定义,自动采用identity、hilo、sequence的其中一种作为主键生成方式
hilo:用过hi/lo算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态
seqhilo:与hilo类似,通过hi/lo算法实现的之间生成机制,只是主键历史状态保存在Sequence中,适用于支持Sequence的数据库,如Oracle
increment:主键按数值顺序递增
identity:采用数据为提供的主键生成机制,如SQL Server、MySQL中的自增主键生成机制
sequence:采用数据库提供的sequence机制生成主键,如Oracle Sequence
uuid.hex:由Hibernate基于128位唯一值产生算法生成十六进制数值作为主键,在最大限度上保证产生的id的唯一性
foreign:使用外部表的字段作为主键
4.应用
//加载配置文件Configurationconfiguration = new Configuration().configure();//向Hibernate注册相关服务@SuppressWarnings("deprecation")ServiceRegistryserviceRegistry= newServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();//创建会话工厂SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);Session session= null;//一个典型的事务应使用try{}catch{}finally{}try{ //打开会话 session = factory.openSession(); //开始事务 session.beginTransaction(); /* 处理事务... */ //提交事务 session.getTransaction().commit(); }catch(Exception e){ e.printStackTrace(); //事务回滚 session.getTransaction().rollback();}finally{ if(session != null){ if(session.isOpen()){ //关闭session session.close(); } }}
0 0
- hibernate-hibernate的配置
- 【Hibernate】2.Hibernate配置
- Hibernate 配置!
- Hibernate配置
- Hibernate配置
- Hibernate 配置
- Hibernate配置
- Hibernate配置
- Hibernate配置
- Hibernate配置
- hibernate 配置
- Hibernate 配置
- Hibernate 配置
- hibernate配置
- 配置HIbernate
- Hibernate 配置
- Hibernate配置
- Hibernate配置
- 搭建邮件客户端进行linux kernel开发
- CentOS 7 通过 持续集成包 安装最新的 Mono
- 如何对网页进行负载测试
- 【机器学习基础】理解为什么机器可以学习——Hoeffding不等式
- Week1-1Dynamic Connectivity
- Hibernate配置
- Volley框架全解析
- Tomcat7+Redis存储Session
- 2015.9.5
- POJ 2376 Cleaning Shifts (区间覆盖)
- XCode单元测试
- 娜样美的观察者模式
- 最小生成树的两种算法
- 1718:Rank