-
hibernate.cfg.xml常用配置 hbm2ddl.auto : create表示每次生成新的表結構,刪除已存在的表再創建新表 update,表示在原有表結構的基礎上進行更新,保留原有的數據,對表結構進行更新,并插入新的數據 create-drop表示先創建表,再刪除表 validate 表示先對原有的表結構進行驗證,如果表結構不同也不會創建新的表結構查看全部
-
Hibernate配置文件...查看全部
-
安裝hibernate插件查看全部
-
hibernate tools插件查看全部
-
Hibernate基本數據類型,紅框表示容易出錯的類型。 前兩列比較常用,例如在配置文檔中的type就經常使用這些。 date 表示日期:YYYY-MM-dd time 表示時間:hh:mm:ss tiemstamp時間戳: yyyy-MM-dd hh:mm:ss 另外,映射的數據類型設置會決定最后數據庫中的類型。 比如我們在Java程序中使用的是java.util.Date類型定義變量Birthday。但在映射關系的配置文檔中對應的type改成date類型,那么最后保存在數據庫的Birthday類型就是date,也就是YYYY-MM-dd,而非java.util.Date(或者timestamp)的YYYY-MM-dd hh:mm:ss。查看全部
-
什么是hibernate: 它是Java領域的一款開源的ORM框架技術 他對JDBC進行了非常輕量級的對象封裝查看全部
-
單一主鍵:指表中由某一列來充當主鍵 assigned 由java應用程序負責生成(手工賦值) native 由底層數據庫自動生成提示符,如果是MySQL就是increment,如果是Oracle就是sequence,等等。另外,即使手動賦值主鍵,也不會起作用。查看全部
-
創建Hibernate的配置文件; 創建持久化類; 創建對象--關系映射文件; 通過Hiebernate API編寫訪問數據庫的代碼;查看全部
-
Hibernate插件在eclipse上面的安裝(Hibernate Tools for eclipse pluguns): 安裝方法同Android ADT插件的安裝。查看全部
-
其他主流的ORM框架技術: 1.MyBatis:前身就是著名的iBatis; 2.Toplink:后被Oracle收購,并重新包裝為Oracle AS TopLink; 3.EJB:本身是javaEE的規范;(大型的,復雜的)查看全部
-
Hibernate是java領域的一款開源的ORM框架技術; Hibernate對JDBC進行了非常輕量級的對象封裝;查看全部
-
寫SQL語句的壞處: 1.不同的數據庫使用的SQL語句不同。比如:PL/SQL與T/SQL。 2.同樣的功能在不同的數據庫中有不同的實現方式。比如分頁SQL。 3.程序過分依賴SQL語句,不利于對程序的移植和擴展。查看全部
-
hbm(對象關系映射)配置文件常用的設置 <hibernate-mapping schema="schemaName" 模式名稱 catalog="catalogName" 目錄名稱 default-cassade="cascade_style" 級聯風格 default-access="field|property|ClassName" 訪問策略 default-lazy="true|false" //加載策略 package="packagename" 默認的包名 ></hibernate> <class name="ClassName" 映射的類 table="tableName" 表名 batch-size="number" 一次可以抓取的數量 where="condition" 抓取的條件 entity-name="EntityName" 支持同一個實體類映射成多張表 ></class> <id>//id表示表的主鍵 name="propertyName" 要映射的屬性 type="typename" 數據類型 column="column_name" 所映射的表的那個字段的名稱 length="length" 指定長度 <generator class="generatorClass" ></generator> 子標簽,表示主鍵的生成策略 </id> 生成策略: native對應的Mysql的處理方式是自動增長(只用于整數) AUTO_INCREMENT assigned 手動賦值查看全部
-
Session詳解 1. getCurrentSession在事務提交或者回滾之后會自動關閉,而openSession需要你手動關閉,如果使用openSession而沒有手動關閉,多次之后會導致連接池溢出。 2. openSession每次創建新的Session對象,而getCurrentSession使用現有的session對象(類似單例模式) openSession——不手動關閉Session的后果:每創建一個連接對象,最后都沒能釋放(連接對象)。會造成連接資源的枯竭,連接池的溢出。如何體現這一點?我們可以打印出這個連接對象的hashcode。 創建兩個session,比較二者的connection對象的hashcode,如果不同,就是不同的connection對象。 需要在save()之前重寫doWork方法。 getCurrentSession在提交事務后會自動關閉session,釋放資源。所以它的connection對象的hashcode是相同的。 以下摘自評論區: 如果你沒有設置數據庫連接池,那么初始連接池的大小是20,最小是1,也就是說當你啟動hibernate的時候,hibernate就初始化了一個connection對象放在你的數據庫連接池里面了。如果你第一次調用openSession的時候,hibernate直接就把連接池里面的connection對象給你了,但是如果你沒有關閉session,那么這個connection對象就沒有被釋放,所以當你再次調用openSession的時候,hibernate就會創建一個新的connection對象,如果一直這樣,連接池就溢出了查看全部
-
映射的數據類型設置會決定最后數據庫中的格式查看全部
舉報
0/150
提交
取消