-2

我即将用 Java 编写一个基于 JPA 的 Web 应用程序,因为这是我第一次认真地使用持久类和数据库,我想了解在设计整体类结构时是否需要特别考虑 fi它尽可能平坦,以保持持久类的数量低且数据库结构简单。我真的不希望得到长篇大论的解释,但想简要概述一下一般注意事项,这对于没有数据库应用程序经验的人来说似乎并不那么明显。提前致谢。

4

3 回答 3

1

你应该先通过这个

http://www.oracle.com/technetwork/articles/marx-jpa-087268.html

于 2012-12-12T05:46:02.407 回答
1

对于不熟悉数据库应用程序的人来说,一般注意事项可能看起来并不那么明显

使用 ORM 表面上简单且透明,但有许多小问题需要考虑:

  • 对象身份。了解关系数据库使用行和键的根本不匹配,而在对象世界中,每个对象都有一个标识。有多种方法可以正确或错误地处理身份。

  • 映射数据。首先了解如何映射简单数据类型(字符串、数字、URL 等)。查看并理解处理转换问题(URL 或字符串、字节或 blob)的技术。

  • 映射关系。了解如何映射关系(单向和双向),如何通过适当的封装维护不变量,失去父对象的“孤儿”对象的问题,以及如何以不同的方式将多个关系映射到同一个类,如何加载急切地或懒惰地与“N+1”选择问题的链接。

  • 映射继承。了解对象、类和表之间的不匹配。了解使用 ORM 可以支持多远的继承。

  • 使用会话。理解使用会话:当一个对象被附加或分离时,对延迟加载有什么影响,如何处理乐观锁定,事务和会话之间的联系。

一般来说,有大量关于 JPA 和 ORM 的文献。上面的列表正是我想到的。

理想情况下,ORM 不应对您的设计施加约束。但是,我的建议是保持平坦和简单。

于 2012-12-12T07:48:00.567 回答
0

因为您使用的是 JPA,所以无需让您的数据库更简单。

JPA 的主要好处之一是它可以为您管理关系。

如果您不得不为了使用它而简化数据库,那将是一个非常糟糕的 API!

(特别是因为它通常用于 JavaEE 环境)

于 2012-12-12T05:55:27.640 回答