在Hibernate中,返回单个对象还是列表更好<;T>;只有一个元素?
假设我有一个类在Hibernate中,返回单个对象还是列表更好<;T>;只有一个元素?,hibernate,Hibernate,假设我有一个类Foo,我有一个FooRepository类,它有一个方法select() select()方法返回对象的List集合 现在,我需要一个总是返回单个对象的select_one()方法。返回类型Foo或List时,列表中只有一个项是最好的吗?我说的是性能和最佳实践 谢谢从性能角度看,返回单个对象总是更好的 但是,从设计的角度来看,这实际上取决于使用类的代码。如果您希望做出所有方法都应返回列表的设计决策,则使用者代码始终可以编写如下代码: List<Foo> listOfO
Foo
,我有一个FooRepository
类,它有一个方法select()
select()
方法返回对象的List
集合
现在,我需要一个总是返回单个对象的select_one()
方法。返回类型Foo
或List
时,列表中只有一个项是最好的吗?我说的是性能和最佳实践
谢谢从性能角度看,返回单个对象总是更好的 但是,从设计的角度来看,这实际上取决于使用类的代码。如果您希望做出所有方法都应返回列表的设计决策,则使用者代码始终可以编写如下代码:
List<Foo> listOfObjects = yourClassInstance.select();
// or
List<Foo> listOfObjects = yourClassInstance.select_one();
foreach(Foo foo in listOfObjects)
{
// process the selected objects..
}
listOfObjects=yourclasinstance.select();
//或
List listOfObjects=yourClassInstance。选择一个();
foreach(对象列表中的Foo-Foo)
{
//处理所选对象。。
}
所以,这真的取决于你,取决于你最关心什么
但请记住,列表有开销,因为它在内部总是创建一个类型为T的数组和其他辅助成员。如果您希望消费者多次调用创建一个列表的代码,这一点就变得非常重要,因为它会创建许多列表,因此会占用更多内存,并且可能会更慢。从性能角度看,这不可能成为瓶颈。让它发挥作用,然后继续前进。