我本人是從事J2EE開發的,一提到J2EE開發,估計你們第一想到的就是SSH三層架構,固然如今已經不必定是這樣的了,也有SSI,也有SpringMVC框架等等,其中ORM這個技術在開發中是確定會用到的,畢竟是一種里程碑的技術,這裏只介紹下Hibernate與PostGreSQL的結合使用。html
這裏使用過Hibernate的人應該都知道,和數據庫結合使用必須下載指定數據庫的數據庫驅動jar包,固然PostGreSQL也不例外java
下載地址:sql
https://jdbc.postgresql.org/download.html數據庫
根據本身的數據庫版本狀況進行下載。json
db.driverClassName=org.postgresql.Driver db.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect db.url=jdbc:postgresql://localhost/qm db.username=qianmeng db.password=123456 db.hibernate.query.factory_class=org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory
我這裏是屬性文件,固然不一樣項目配置方式可能不同,這裏主要配置driverClassName(數據庫驅動名稱)、hibernate.dialect(Hibernate方言),前提是你的項目中引入了第一步下載的jar包。markdown
一、數據庫中存在json數據類型字段session
PostGreSQL做爲對象關係數據庫,和其餘數據庫相比json字段無疑是一大亮點,但和Hibernate結合使用時,Hibernate自己並無Json字段類型,全部這邊要自行處理,具體處理方法能夠參照個人博客:架構
或者stackoverflow上的解決方案:框架
http://stackoverflow.com/questions/15974474/mapping-postgresql-json-column-to-hibernate-value-type
二、主鍵生成方式
如今數據庫中id自增加這種需求在正常不過啦,但在PostGreSQL中怎麼處理呢.
使用 serial 關鍵字,這樣生成表的同時也會生成一個針對id的一個sequence,固然你也能夠不用serial關鍵字,手動指定id的sequence,不過既然有好方法爲何不用呢,對吧。
create table test_a ( id serial, name character varying(128), constraint pk_test_a_id primary key( id) );
另外,當使用Hibernate時最經常使用的就是但願執行 session.save(entity); 函數的時候,數據庫中id自動+1,那麼就須要在Hibernate與model的配置文件 .hbm文件中指定Id的生成方式爲 identify,前提是數據庫中id設置了sequence。
<id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="identity" /> </id>
以上就是PostGreSQL與Hibernate結合使用的基本步驟和注意點,這些通常就夠用啦,若是還有其餘的特殊需求,再說吧~~~。