• Зачем нужен @Id в Entity?

    @code_batya
    Он служит именно для того, о чем я написал.
    На одну таблицу вы создаете один класс датасета и помечаете его @Entity, что означает: объекты данного класса содержит поля, указанные в таблице бд.
    Если в одной entity у вас есть ссылка на другую entity, но при этом в таблице нет столбца 'another_entity', то ничего не будет. Вот этот код:
    @Entity
    @Table(name="users")
    public class UsersDataSet {
        @Id
        @GeneratedValue(strategy=GenerationType.IDENTITY)
        long user_id;
        
        UsersDataSet anotherSet;
    }

    Будет работать нормально.