Я сталкиваюсь со следующей дилеммой проектирования / реализации.
У меня есть класс Customer, который ниже с геттерами и сеттерами. Я хотел бы вставить значение Customer в таблицу «Customer» базы данных. Но у Клиента есть адрес типа «Адрес». Как мне вставить это поле в базу данных (я использую sqlite3). Я думал написать отдельную таблицу «Адрес (идентификатор клиента, двери, города, штата, страны, пин-кода)». Но у меня возникли мысли о создании первичного ключа (customerId), который должен быть одинаковым как для таблицы «customer», так и для таблицы «Address». Sqlite3 faq заявляет, что я могу сделать "Integer Primary Key", чтобы использовать поле для генерации автоматического номера. Но если я сделаю это в таблице клиентов, мне придется получить тот же Id, который будет использоваться в таблице адресов. Это выглядит неправильно для меня: - ?. Там должен быть элегантный метод, чтобы решить эту проблему. Любые идеи будут высоко оценены. Заранее спасибо.
import java.io.*;
import java.sql.*;
class Customer {
private String id;
private String name;
private Address address;
private Connection connection;
private ResultSet resultSet;
private PreparedStatement preparedStatement;
public void insertToDatabase(){
}
}
class Address{
private String doorNumber;
private String streetName;
private String cityName;
private String districtName;
private String stateName;
private String countryName;
private long pinCode;
}