public Host updateSpeed(Host host) { if (host == null) return null; double speed = host.getEngineList() .stream() .map(EngineRole::getCurrentSpeed) .reduce((double) 0, (a, b) -> a + b); HostSpeedRcd speedRcd = new HostSpeedRcd(); Date time = new Date(); speedRcd.setHost(host); speedRcd.setTime(time); speedRcd.setSpeed(speed); host.getSpeedRcds().add(speedRcd); host.setCurrentSpeed(speed); host.setRecordTime(time); _pm.exec(speedRcd, HibernateEngine.DB_INSERT, true); _pm.exec(host, HibernateEngine.DB_UPDATE, true); return host; }