2010-03-08 6 views
0

Я столкнулся с следующей дилеммой проектирования/реализации. У меня есть класс Customer, который ниже с геттерами и сеттерами. Я хотел бы вставить значение Клиента в таблицу «Клиент» базы данных. Но у Клиента есть адрес, который имеет тип «Адрес». Как мне вставить это поле в базу данных? (Я использую sqlite3). Я подумал написать отдельную таблицу «Адрес (customerId, doorNo, город, штат, страна, pinCode)». Но у меня есть вторая мысль о создании первичного ключа (customerId), который должен быть таким же как для таблицы «клиент», так и «Адрес». Sqlite3 faq утверждает, что я могу сделать «Integer Primary Key», чтобы использовать поле для генерации автоматического номера. Но если я сделаю это в таблице клиентов, мне нужно будет получить тот же идентификатор, который будет использоваться в таблице адресов. Этот вид выглядит неправильно для меня: - ?. Должен быть элегантный способ решить эту проблему. Любые идеи будут высоко оценены. Заранее спасибо.Вставить данные в объект в базу данных

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; 
} 
+1

В таблице адреса должна имеют первичный ключ addressID, а затем добавьте это как внешний ключ в таблицу клиентов. –

+0

Спасибо вам !. Я попробую. – paul

ответ

4

имеет читать о Relational Database design, JDBC, SQLite JDBC и hibernate

есть слишком много вещей, чтобы ответить, чтобы пойти подробно об этом (для меня во всяком случае;))

+0

а также объектно-ориентированное программирование. – NetSide

+0

Спасибо за ссылки pstanton. Я слышал о спящем режиме, но я думаю, что это будет излишним для простого приложения, которое я здесь создаю. – paul