Hibernate 复习笔记一

强颜欢笑 提交于 2019-11-26 21:21:38

Hibernate 复习笔记 


Hibernate 配置文件
    配置文件可以有两种形式:hibernate.cfg.xml(XML) 和  hibernate.properties (PROPERTIES)
 
 hibernate.cfg.xml
  connection.driver_calss    指定数据库的JDBC驱动
  connection.url       JDBC连接数据库的URL
  connection.username     数据库用户名
  connection.password     数据库密码
  dialect        数据库方言
  show_sql       显示所执行的SQL语句  默认:false(不显示)
  
 hibernate.properties
  hibernate.connection.driver_calss = com.mysql.jdbc.Driver        指定数据库的JDBC驱动
  hibernate.connection.url = jdbc:mysql://localhost:3306/数据库名       JDBC连接数据库的URL
  hibernate.connection.username = root             数据库用户名
  hibernate.connection.password = root             数据库密码
  hibernate.dialect = org.hibernate.dialect.MySQLDialect        数据库方言
  hibernate.show_sql = true                显示所执行的SQL语句  默认:false(不显示)
 
 ?完善oracle SQLServer 的hibernate.properties
 
************************************************************** 
  
主键的自动增长方式:
1.increment
 !增长方式于Hibernate管理的,从数据库里用MAX()取出最大值。再在Hibernate 里加1。再写回DB。
 所以这知方式不适用于多用户并发访问。
 !能用Increment 的只能是整型的字段
2.sequence
 !在数据库里建一个序列。多个库可以从这个序列里取值。做为它们的自己增值。
 !Oracle 里常这样用。
3.assigned
 !增长方式于用户管理的,用户自己设定主键是什么。所以DB中对应的列不能是自增的。
4.identity
 !增长方式于DB管理的,所以适用于多用户并发访问。
 !数据类型为整型的字段
5.native
 !必须由Hibernate或是DB管理增长方式。不能自己设定。
 !native会自动选择用哪个。
6.uuid
 !产生一个32 位的 16 进制的字符串。无序。不重复。
7.guid
 !产生一个32 位的 16 进制的字符串。无序。不重复。
8.foreign 
 !使用别外一个相在联的对象的标识符,一般和<one-to-one>主键关联一起用
  
  
  
************************************************************** 


Hibernate 核心API
   Configuration
   SessionFactory
   Session
   Transaction
 
 ?完善各自的相关内容 
  
**************************************************************   
  
  
Hibernate 中持久化对象的三种状态(生命周期)  
 Transient(临时状态)
 Persisten(持久化状态)
 Detached(流离状态)
  
 ?完善三种状态是怎么相互轮换的 
  
**************************************************************   
  
联合主键: 两个列一起作表的主键 
  
1.联合主键(方式一): composite  column
 主键类
 这种方式会产生一个主键类,和一个表类。主键类是表类的一个属性。
 <composite-id name="主键名" class="包名.主键类名">
  <key-property name="#" type="#">
          <column name ="表列名" length ="长度"/>
     </key-property>
    
     <key-property name="#" type="#">
          <column name ="表列名" length ="长度"/>
     </key-property>
     ....
 </composite-id>
 

2.联合主键(方式二): composite
 这种方式就是两个列同时做主键
 <composite-id>
  <key-property name="#" type="#">
          ..
     </key-property>
    
     <key-property name="#" type="#">
          ..
     </key-property>
     ....
 </composite-id>  
  
  
  
**************************************************************     
  
  
组合映射:component

 <component name = "#" class = "#">
  <property name = "#" column = "#" type = "#";/>
  <property name = "#" column = "#" type = "#";/> 
  ....
 </component>
 <component name = "#" class = "#">
  <property name = "#" column = "#" type = "#";/>
  <property name = "#" column = "#" type = "#";/> 
  ....
 </component> 
  
  
**************************************************************      
  
  
Blob/Clob  数据类型的映射  
  
  
 ?末完成 
************************************************************** 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!