java 使用 方法 函数 当做参数
接收方法
public <T> T doWithSession(Function<Session,T> f) {
Session session = sessionFactory.openSession();
try {
return f.apply(session);
}
finally {
session.close();
}
}
使用匿名函数调用
@Override
@SuppressWarnings("unchecked")
public List<Group> getGroups()
{
return doWithSession(session -> (
List<Group>)session.createQuery("from Group").list()
);
}