PostGreSQL 结合 Hibernate 在项目中的使用小结
我本人是从事J2EE开发的,一提到J2EE开发,估计大家第一想到的就是SSH三层架构,当然现在已经不一定是这样的了,也有SSI,也有SpringMVC框架等等,其中ORM这个技术在开发中是肯定会用到的,毕竟是一种里程碑的技术,这里只介绍下Hibernate与PostGreSQL的结合使用。 一、驱动包下载这里使用过Hibernate的人应该都知道,和数据库结合使用必须下载指定数据库的数据库驱动jar包,当然PostGreSQL也不例外 下载地址: https://jdbc.postgresql.org/download.html 根据自己的数据库版本情况进行下载。 二、配置文件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包。 三、使用中的注意点1、数据库中存在json数据类型字段 PostGreSQL作为对象关系数据库,和其他数据库相比json字段无疑是一大亮点,但和Hibernate结合使用时,Hibernate本身并没有Json字段类型,所有这边要自行处理,具体处理方法可以参照我的博客:
或者stackoverflow上的解决方案:
2、主键生成方式 现在数据库中id自增长这种需求在正常不过啦,但在PostGreSQL中怎么处理呢. 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结合使用的基本步骤和注意点,这些一般就够用啦,如果还有其他的特殊需求,再说吧~~~。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |