Я провел некоторые исследования в области SO, но у меня все еще проблемы с пониманием.
У меня есть абстрактный класс с именем Avatar
public abstract class Avatar {
private static final Logger LOG = Logger.getLogger(Avatar.class.getName());
private int id; ... }
Содержит информацию о характеристиках персонажа (для игры, например, уровень, опыт, задания и т. Д.).
Затем у меня есть другой абстрактный класс, который расширяет класс Avatar
, который называется GamePlayer
:
public abstract class GamePlayer extends Avatar {
// class to handle logged in players (game players)...
}
Тогда у меня есть класс User
и класс LoginUser
(один для игры, другой для входа в систему). Класс User
расширяет GamePlayer
:
public class User extends GamePlayer implements FieldEntity {
// Main game user class...
}
Затем LoginUser
класс расширяется Avatar
:
public class LoginUser extends Avatar {
// Login class for login users only
}
Таким образом, все эти классы все еще попадают в одну таблицу с именем «символов». Как я предполагаю, чтобы отобразить это? добавить @MappedSuperclass
к Avatar
И GamePlayer
? или просто класс Avatar
и добавьте:
@Entity
@Table(name="characters")
в User
и LoginUser
класс?