BeanCreationException при отображении сущностей в таблицы с использованием Hibernate - PullRequest
0 голосов
/ 14 мая 2018

Работая в проекте Spring Boot, я использовал JPA для сопоставления сущностей в базе данных, но, к сожалению, я столкнулся с этой ошибкой:

org.springframework.beans.factory.BeanCreationException: ошибка создание компонента с именем entityManagerFactory, определенным в пути к классам ресурс [Орг / springframework / загрузки / Автоконфигурирование / ОРМ / JPA / HibernateJpaConfiguration.class]: Ошибка вызова метода init; вложенное исключение org.hibernate.AnnotationException: @OneToOne или @ManyToOne в com.userFront.domain.SavingsTransaction.savingsAccount ссылается на неизвестная сущность: com.userFront.domain.SavingsAccount

Из того, что я понимаю, проблема заключается в отношениях между этими двумя классами. Согласно моей концепции, я думаю, что все аннотации верны, а логика верна.

Это класс SavingsAccount:

package com.userFront.domain;

import java.math.BigDecimal;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;

import net.minidev.json.annotate.JsonIgnore;

public class SavingsAccount {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long id ;
    private int accountNumber; 
    private BigDecimal accountBalance; 
    @OneToMany(mappedBy="savingsAccount",cascade=CascadeType.ALL,fetch=FetchType.LAZY)
    @JsonIgnore
    private List<SavingsTransaction > SavingsTransactionList;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public int getAccountNumber() {
        return accountNumber;
    }
    public void setAccountNumber(int accountNumber) {
        this.accountNumber = accountNumber;
    }
    public BigDecimal getAccountBalance() {
        return accountBalance;
    }
    public void setAccountBalance(BigDecimal accountBalance) {
        this.accountBalance = accountBalance;
    }
    public List<SavingsTransaction> getSavingsTransactionList() {
        return SavingsTransactionList;
    }
    public void setSavingsTransactionList(List<SavingsTransaction> savingsTransactionList) {
        SavingsTransactionList = savingsTransactionList;
    }

}

А это класс SavingsTransaction:

package com.userFront.domain;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
@Entity
public class SavingsTransaction {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long id ; 
    private Date date ; 
    private String description ; 
    private String type ; 
    private String status ; 
    private double amount; 
    private BigDecimal availableBalance ; 
    @ManyToOne
    @JoinColumn(name="savings_account_id")
    private SavingsAccount savingsAccount; 
    public SavingsTransaction() {}
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Date getDate() {
        return date;
    }
    public void setDate(Date date) {
        this.date = date;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public double getAmount() {
        return amount;
    }
    public void setAmount(double amount) {
        this.amount = amount;
    }
    public BigDecimal getAvailableBalance() {
        return availableBalance;
    }
    public void setAvailableBalance(BigDecimal availableBalance) {
        this.availableBalance = availableBalance;
    }
    public SavingsAccount getSavingsAccount() {
        return savingsAccount;
    }
    public void setSavingsAccount(SavingsAccount savingsAccount) {
        this.savingsAccount = savingsAccount;
    }
    public SavingsTransaction(Date date, String description, String type, String status, double amount,
            BigDecimal availableBalance, SavingsAccount savingsAccount) {
        super();
        this.date = date;
        this.description = description;
        this.type = type;
        this.status = status;
        this.amount = amount;
        this.availableBalance = availableBalance;
        this.savingsAccount = savingsAccount;
    }
}

1 Ответ

0 голосов
/ 14 мая 2018

Ваш SavingsAccount класс не помечен @Entity. Не могли бы вы попробовать и посмотреть, исправит ли это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...