如何处理在域模型中没有表示的查询?

Iva*_*nic 5 orm

这不是特定于任何语言,它只是最佳实践.我正在使用JPA/Hibernate(但它可能是任何其他ORM解决方案)并且我想知道你们如何处理这种情况:假设你有一个查询返回一些你没有表示的东西域类.您是否创建了一个特定的类来表示该特定查询?您是否在其他类型的对象(数组,地图......)中返回查询?其他一些解决方案?我想知道您的经历和最佳实践.

PS实际上我正在为特定查询创建特定的对象.

Eli*_*ght 0

我通常编写一个函数,使用 SQL 执行查询,然后将结果放入列表或字典中(在 Java 中,我会使用 ArrayList 或 HashMap)。

如果我发现自己经常这样做,我可能会创建一个新文件来保存所有这些查询。否则我只会让它们在需要/使用的任何文件中发挥作用。

由于我们专门讨论 Java,因此我肯定不会在单独的文件中创建新类。但是,对于仅一个类中需要的查询,您可以创建一个私有静态内部类,其中仅包含生成该类所需的查询所需的函数。