2012-02-04 91 views
-1

我正在创建一个拥有40多个数据库表的Java EE项目。哪个持久性API更适合用于这样的项目:hibernate/jpa等。使用哪个java持久性API?

即使在谷歌上,我也找不到与此场景对应的任何帖子。

+0

您能更具体地了解您的需求吗? – 2012-02-04 18:06:45

回答

5

你有很多的选项,你的问题是不容易的,而不更多地了解您的具体要求来回答。

当您希望快速启动“持久性”并使用JPA时。如果您不关心SQL或关系模型太多,而是想要“坚持”数据并执行CRUDOLTP),那么JPA最适合您。一些示例实现:

当你想控制你的SQL,使用不规范的框架。当你想有超过由框架发出的查询细粒度的控制,这些可能更适合,因为要执行比“CRUD”得多(即OLAP):

当你想要做这一切你自己,直接使用JDBC(这也是一种“持久性API”)

+0

但是如果我使用JPA,那么是否必须生成40个类?不会让系统变慢吗? – nkvp 2012-02-04 18:24:38

+0

@nkvp:请更具体地了解您的使用案例。你想做什么*做什么以及哪些*不做*你想做什么。您没有*可以生成40个课程,但从您提供的少量信息中很难说,JPA是否适合您。请相应地更新您的问题 N.B:40个表/类是一个相当小的数据库。可能不需要担心性能。 – 2012-02-04 18:26:44

+0

它是一个医院管理系统(与医生,病人,药品等),有一个基于ejb的web服务,并有2个客户端,一个jsp web应用程序和一个java独立应用程序 – nkvp 2012-02-04 18:29:27

3

JPA无论你喜欢什么样的实现:Hibernate,EclipseLink。

(JPA是一个具有多种实现标准)

+0

但是怎么样的类,我必须产生所有的40个类...不会减慢系统? – nkvp 2012-02-04 18:25:51

+0

完全没有..... – Bozho 2012-02-04 20:16:32

+0

好的......非常感谢你......我还有一个关于认证的问题,如果可能的话,你可以帮我解决......链接是http://stackoverflow.com/问题/ 8864879/web-service-authentication-in-java-ee ...请检查发布到答案的评论... – nkvp 2012-02-05 02:06:28