我想知道方法是否应该操作惰性集合? 这是示例:
public class Person {
// lazy collection
@ManyToOne(fetch = FetchType.LAZY)
private List<Friend> friends;
public Friend findFriend(String name) {
//pseudo code
return friends.findByName(name);
}
}
findFriend 是正确的方法吗?当我在事务服务方法中使用它时,那么就可以了,但是有人可能在事务之外使用它,然后发生异常。
创建操作惰性集合的方法是一种不好的做法吗?
最佳答案
良好的界面可以让你很容易做正确的事情,但很难做错误的事情。
在您的示例中,任何客户端代码都必须了解您提到的前提条件。默认情况下,这并没有错,但很容易导致仅在运行时出现的问题。
这里最起码的事情可能是改进此类/方法的名称,至少使该前提条件更加“明确”。
关于java - 方法是否应该操作惰性集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42670454/