내 코드에서 전달하는 javax.sql.rowset.CachedRowSet
개체를 사용하고 있습니다. 그것이 CachedRowSet
내 코드의 나머지 부분에 전달되기 직전에 폐쇄 채워 된에서 ResultSet
(읽기 전용, 나는 업데이트하거나 개조하지 않음) :CachedRowSet :: release() vs close()
public CachedRowSet getData(String query) throws SQLException {
RowSetFactory aFactory = RowSetProvider.newFactory();
CachedRowSet crs = aFactory.createCachedRowSet();
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(query);
crs.populate(rs);
} finally {
DbUtils.closeQuietly(null, stmt, rs);
}
return crs;
}
, 그것이 완료되면 close()
또는 release()
CachedRowSet
개체에도 의미가 있습니까? This answer은 close()
이 상처를주지는 않지만 release()
또는 그 차이점을 언급하지 않는다고 제안하는 것으로 보입니다. 나는 release()
다음에 close()
을 쓸 수 있다고 생각합니다.하지만 조금 더 이해하고 싶습니다. 심지어 CachedRowSet
개체를 serialize하고 다른 모듈의 String
에서 내재화하여 어떤 의미로도 내부화되지 않은 인스턴스에서 close()
및 release()
을 호출 할 수 있습니다.