Как исправить «Ошибка создания bean-компонента с именем« EntityManagerFactory », определенным в ресурсе пути к классу»

Я только изучаю весну, и у меня проблема в отношениях баз данных, закончившихся ошибкой:

"org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: Unknown mappedBy in: Varqina.WebReptile.models.entity.UserEntity.userPropertiesEntity, referenced property unknown: Varqina.WebReptile.models.entity.UserPropertiesEntity.user"

UserProperies:
import lombok.Data;
import javax.persistence.*;
import java.time.LocalDateTime;
@Table(name = "user")
@Data
@Entity
public class UserEntity {
    public enum AccountStatus{
        ACTIVE, PREMIUM, NOT_ACTIVE;
    }
    @Id @GeneratedValue private Integer id;
    private String nickname;
    private String password;
    private @Column(name = "creation_time") LocalDateTime creationTime;
    @Enumerated(EnumType.STRING)
    private AccountStatus status;
    private String email;

    @OneToOne(mappedBy = "user",fetch = FetchType.LAZY,cascade = {})
    private UserPropertiesEntity userPropertiesEntity;

}
UserPropertiesEntity:
import lombok.Data;
import javax.persistence.*;
@Data
@Entity
@Table(name = "user_properties")
public class UserPropertiesEntity {
    private @Id @GeneratedValue Integer id;
    private String city;
    private String nation;
    private @Column(name = "birth_day") String birthDay;
    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "user_id")
    private UserEntity nickname;



Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
3 336
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Атрибут mappedBy в отношении @OneToOne должен соответствовать имени атрибута в целевом объекте.

Так что это должно быть "псевдоним", а не "пользователь"

@OneToOne(mappedBy = "nickname",fetch = FetchType.LAZY,cascade = {})
private UserPropertiesEntity userPropertiesEntity;

Здорово. Не могли бы вы принять мой ответ как правильный? Спасибо

Simon Martinelli 16.02.2019 16:19

да. Спасибо!

Simon Martinelli 17.02.2019 17:25

Другие вопросы по теме