У меня есть код java-ee, связанный с постоянством, который мне нужно переписать, чтобы приложение работало на Google App Engine и его хранилище данных. Когда я использую провайдеры персистентности java-ee, я генерирую сущности персистентности с помощью своей IDE и сохраняю их такими, какие они есть, на случай, если мне потребуется их восстановить. Однако автогенерация классов сущностей для хранилища ядра приложения невозможна, и я хотел бы знать, есть ли какие-либо веские причины, по которым я должен поддерживать чистоту классов сущностей и не использовать поля и методы, не связанные напрямую с постоянством. Я использую objectify как поставщик постоянства, если это имеет значение.
Вот пример:
public class Dog {
@Id Long id;
@Transient Integer barkCount;
public String bark() {
barkCount++;
return "woof-woof";
}
public String getAgeEstimation() {
switch(barkCount) {
case 0: return "unborn (or very lazy)";
case 10000: return "this is very old dawg";
default: return "you get the idea :)";
}
}
}