Почему я получаю сообщение об ошибке "Не указан идентификатор для объекта:" - PullRequest
0 голосов
/ 02 июля 2019

Я следовал учебному пособию и создал 2 сущности, но когда я запускаю приложение, я получаю следующую ошибку «Ошибка вызова метода init; вложенное исключение - org.hibernate.AnnotationException: для сущности не указан идентификатор: com.example .db_test.Post». Это сработало в учебнике, которому я следовал, урок старый, так что, может быть, он больше не работает. Каков будет правильный способ создания этих 2 сущностей.

@Entity
public class Post {
    @Id
    @GeneratedValue
    private Long id;
    private String title;
    private String body;
    private Date postedOn;
    //Author
    @ManyToOne
    private Author author;

    private Post(){}

    public Post(String title){
        setTitle(title);
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public Date getPostedOn() {
        return postedOn;
    }

    public void setPostedOn(Date postedOn) {
        this.postedOn = postedOn;
    }

    public void setAuthor(Author author) {
        this.author = author;
    }

    public Author getAuthor() {
        return author;
    }
}

@Entity
public class Author {
    @Id
    @GeneratedValue
    private Long id;
    private String firstName;
    private String lastName;
    //posts
    @OneToMany(mappedBy = "author")
    private List<Post> posts;

    private Author(){
    }

    public Author(String firstName, String lastName){
        this.setFirstName(firstName);
        this.setLastName(lastName);
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public List<Post> getPosts() {
        return posts;
    }

    public void setPosts(List<Post> posts) {
        this.posts = posts;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...