GAE: Как эффективно отобразить объектно-ориентированные проекты в хранилище данных Appengine

Предположим, что у меня есть следующая объектная модель (вы можете изменить ее так, как вам нравится, мой интерес - только эффективное сопоставление),

public class Product{
    private String someAttribute;
    //...
}

// A Seller who has a lot of products to sell, More than one Seller can sell the same Product
public class Seller{
    private List<Product> products;
    //...
}

public class Offer{
    // who is offering
    private Seller seller;
    // multiple products can make an offer
    private List<Product> products;
    // pricing related
    private Price price;
    //...
}

Я хочу написать веб-приложение, которое будет выполнять, читать / писать / искать по этим объектам, и считаю, что точкой входа может быть любой из них.

Ниже приведены мои вопросы, -

Какой шаблон дизайна я буду использовать? Я думаю, какой-то шаблон адаптера?

Следует ли хранить при хранении объекты Продавца ссылки на объекты Продукта? или только ключи? Я имею в виду, должен ли я преобразовать класс продавца в следующий,

открытый класс Продавец {частный список productKeys; }

Если я хочу написать масштабируемое и поддерживаемое приложение, я думаю, что должен быть какой-то хороший способ спроектировать мое приложение в многоуровневой архитектуре. Есть ли какой-нибудь пример для этого или какой-то уже использованный шаблон? например Какой-то JSP -> Сервис -> DAO -> хранилище данных? Примеры будут по достоинству оценены.

Я прошел через AppEngineSDK для Java, но не нашел пример для того же. помощь в ответах или указателях действительно ценится.

Ответы на вопрос(2)

Ваш ответ на вопрос