Мы не сможем дать очень хороший совет, не зная, как вы написали свое приложение. Вы создали слой доступа к данным, который отделяет ваш доступ к хранилищу данных от вашей бизнес-логики? Или вы передаете специфические объекты ядра приложения повсюду? Вы пользуетесь сервисом gae? или memcache?
Первое, что вы должны сделать, это посмотреть на все ваши операторы импорта. Каждый раз, когда вы видите com.google.something там, вы знаете, что нужно изменить это. Вы не дали много подробностей о том, как вы написали свое приложение, но если вы спрашиваете о datanucleus, вы, вероятно, использовали JDO или JPA, что означает, что вы сможете повторно использовать большую часть своего уровня данных. У вас может быть несколько полей Key, которые вам придется изменить, и, возможно, несколько специальных аннотаций. Вероятно, вам придется перепроверить, как вы обрабатываете транзакции, поскольку это может отличаться в базе данных SQL, которая не использует группы сущностей, как это делает GAE.