Я работаю над проектом с доступом к базе данных. Вот схема классов, которые я реализовал
public class Foo {
private String id;
private String name;
private int x;
private String y;
private String z;
...
public Foo(String id) throws SQLException {
this.id=id;
try (Statement stmt = MyConnectionManager().getConnection().createStatement()) {
ResultSet rs = stmt.executeQuery("SELECT * FROM " + TABLE_NAME
+ " WHERE(id='" + this.id + "')");
if (!rs.next()) {
throw new NoExistException();
}
this.name = rs.getString("Name");
this.x = ...
...
} catch (SQLException ex) {
throw ex;
}
}
public int getId() {
return this.id;
}
public String getName() {
.
.
.
Но когда я посмотрел на большинство примеров oop, я обнаружил, что большинство людей используют дополнительный класс для доступа к базе данных. Я не знаю, что я собираюсь сказать, это ошибка. Эти коды обращаются к базе данных для инициализации каждой переменной-члена. Но в моем коде база данных доступна только один раз для инициализации моего объекта. Должен ли я изменить этот подход. Если я изменю это повлияет на скорость моего приложения, когда оно хочет инициализировать больше объектов вместе (может быть сотни). Я думаю, что это может быть вопрос о дублировании. Но я не нашел удовлетворительного ответа для моей конкретной проблемы.