2011-08-21 57 views
0

我使用休眠,我需要获取数据库的一些数据。 我有一个很多领域的表,我想在不同的地方获取不同的领域。 我可以使用AliasToBeanResultTransformer创建我自己的类,它只代表我想要获取的字段。 但我有很多这样的用法。 我不想发现自己创建了2个成员的许多类只是为了从数据库中获得2个字段。最简单的方法创建运行结构与休眠

in idea?

谢谢。

回答

0

我真的没有看到任何其他方式。其他选项糟糕:

  • 使用包含所有可能的领域一类,只有填写您获取(其他的人住在空)中的那些:调用代码怎么会知道哪些字段被填充,哪些是不?这将成为维护噩梦
  • 使用Map来存储所有内容:更糟糕的是:您不知道地图中可能存在什么内容,并且代码将充满演员表。

如果您有其各自的什么Foo包含了不同的看法5使用情况,你必须创建5层不同的Foo的DTO。

是否真的有必要只提取一些字段?难道你不能在所有的用例中使用相同的实体类吗?这是一个性能问题吗?如果是这样,你有没有测量性能问题?大多数情况下,查询需要时间来执行,因为查找数据需要一定的时间才能返回,但并不是因为它返回的数据量。确保你没有过早优化。

+0

我如何做你的第一个建议,如果我不想获取的某些字段被定义为非null? – AAaa

+0

你可以在类中使它们为空:整数代替int,布尔代替布尔等。调用代码必须知道这些字段并不总是被填充。 –