在向大家详细介绍Hibernate项目之前,首先让大家了解下Hibernate/JPA的一些思想,然后全面介绍Hibernate项目。
大约一年以前,我为了学习一些Hibernate专业知识,因此我参加了一个Hibernate项目。从那时起,我一直在使用Hibernate框架下的JPA(Java持久API)实现,使用的思想仍就是一样的。那个项目使用了一个数据库,这个数据库规模有些大,略显落后,并且还被许多的应用程序共用。为了尽快加入到项目中,我开始学习一些Hibernate知识。从书本上的例子开始学习,感觉很简单,学起来也很快,但是发现从零开始开发一个项目,并且控制它又是另外一回事了。试着在一个大型,复杂,被许多应用程序共用的数据库上使用Hibernate就又完全不同了。弄清楚了我可能遭遇到的技术难点,我开始想别的招了,要尽快从另外的方向开始,克服困难。
在最终的学习和实践中,我发现我还是学到了许多重要的东西,虽然我们的项目还没有完全做完,但是我认为我们目前已经非常漂亮的应用了Hibernate/JPA的一些思想。现在我需要重新思考反省我所学到的东西,如下便是我学到的一些心得:
1.和数据库管理员成为朋友
目前存在一个趋势,就是一些Java开发者忽视数据库管理员的重要性。这便犯了一个很大的错误,对于要取得任何的ORM(对象关系映射)技术的成功,和数据库管理员保持一个良好的工作关系是至关重要的。有如下两个原因:
单独数据库管理员虽然不能使Hibernate项目成功,但是他们通常可以让这些项目失败。
数据库管理员对数据库本身具有很好的洞察力,很好的职业习惯,告诉你一些易犯的错误和操作建议。我能记起这样的很多例子,一个数据库管理员的建议节约了我们很多的时间和提供给我们一个很好的解决方案。
在大多数情况下,拥有好的数据库管理员,并且和他们保持良好的关系对你ORM(对象关系映射)工作至关重要。
2.从一开始使用(***强制使用)好的命名标准
我们知道对命名标准的讨论将会有争议的,但是我们必须明确一件事情,我们的命名要让我们的数据模型有意义,这能让开发者使用起来简单,以免他们迷惑。所以,如何命名实体和属性是非常重要的。我有我喜欢命名标准,并且认为他们是***的,但是在这里我不想把他们强加于你们。最重要的是你自己做出决定使用什么样的命名标准,并且让所有人使用它。实际上,不仅仅命名标准需要统一,其它的也需要(如,布尔型用“Y/N” 或者 0/1表示)。
3.不要试着映射所有的属性
我们总是设法使用工具,如Dali来映射所有的东西,然后形成一张表格(一些表格有上百列 !)。这最终会很麻烦。为什么?因为我们使用的是共用的,先前的数据库,有许多的字段是我们并不关心和从来不使用的。映射它们只会导致性能问题和造成混乱。以上介绍Hibernate项目。
【编辑推荐】