Ну, идея состоит в том, чтобы перевести ваши объекты и их связи с другими объектами в реляционную базу данных. Эти два способа представления данных (объекты, определенные классами и в таблицах в базе данных) не являются непосредственно совместимыми, и именно здесь вступает в игру так называемая структура Object Relational Mapper .
Так что класс вроде
class MyObject
{
private String name;
private int age;
private String password;
// Getters and setters
}
Будет преобразована в таблицу базы данных, содержащую имя столбца типа varchar, возраст типа int и пароль типа varchar.
Аннотации в Java просто добавляют дополнительную информацию (так называемые метаданные) к определениям вашего класса, которые могут быть прочитаны любым другим классом (например, JavaDoc), и в случае Java Persistence API будет используется средой ORM, такой как Hibernate, для считывания дополнительной информации, необходимой для перевода вашего объекта в базу данных (вашей таблице базы данных требуется первичный идентификатор и некоторая информация - например, какой тип отношения объекта к другому - не может быть определен автоматически просто взглянув на определение вашего класса).