PostGreSQL 结合 Hibernate 在项目中的使用小结

PostGreSQL 结合 Hibernate 在项目中的使用小结,第1张

概述我本人是从事J2EE开发的,一提到J2EE开发,估计大家第一想到的就是SSH三层架构,当然现在已经不一定是这样的了,也有SSI,也有SpringMVC框架等等,其中ORM这个技术在开发中是肯定会用到的,毕竟是一种里程碑的技术,这里只介绍下Hibernate与PostGreSQL的结合使用。 一、驱动包下载 这里使用过Hibernate的人应该都知道,和数据库结合使用必须下载指定数据库的数据库驱动j

我本人是从事J2EE开发的,一提到J2EE开发,估计大家第一想到的就是SSH三层架构,当然现在已经不一定是这样的了,也有SSI,也有SpringMVC框架等等,其中ORM这个技术在开发中是肯定会用到的,毕竟是一种里程碑的技术,这里只介绍下Hibernate与PostGresql的结合使用。

一、驱动包下载

这里使用过Hibernate的人应该都知道,和数据库结合使用必须下载指定数据库的数据库驱动jar包,当然PostGresql也不例外

下载地址:

https://jdbc.postgresql.org/download.html

根据自己的数据库版本情况进行下载。

二、配置文件
db.driverClassname=org.postgresql.Driverdb.hibernate.dialect=org.hibernate.dialect.PostgresqlDialectdb.url=jdbc:postgresql://localhost/qmdb.username=qianmengdb.password=123456db.hibernate.query.factory_class=org.hibernate.hql.internal.ast.ASTqueryTranslatorFactory

我这里是属性文件,当然不同项目配置方式可能不一样,这里主要配置driverClassname(数据库驱动名称)、hibernate.dialect(Hibernate方言),前提是你的项目中引入了第一步下载的jar包。

三、使用中的注意点

1、数据库中存在Json数据类型字段

PostGresql作为对象关系数据库,和其他数据库相比Json字段无疑是一大亮点,但和Hibernate结合使用时,Hibernate本身并没有Json字段类型,所有这边要自行处理,具体处理方法可以参照我的博客:

http://blog.csdn.net/qian_meng/article/details/48394379

或者stackoverflow上的解决方案:

http://stackoverflow.com/questions/15974474/mapping-postgresql-json-column-to-hibernate-value-type

2、主键生成方式

现在数据库中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结合使用的基本步骤和注意点,这些一般就够用啦,如果还有其他的特殊需求,再说吧~~~。

总结

以上是内存溢出为你收集整理的PostGreSQL 结合 Hibernate 在项目中的使用小结全部内容,希望文章能够帮你解决PostGreSQL 结合 Hibernate 在项目中的使用小结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1175399.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存