봄 부팅 ManyToOne 관계

0

질문

내가 사용하려고 스프린트 부팅 ManyToOne 주석이다. 내 코드는 다음과 같이 Order 클래스

package com.example.demo_app.data.models;

import javax.persistence.*;

@Entity
public class Order extends Object {
    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "person_id")
    private Person person;

    public Person getPerson() {
        return person;
    }

    public void setPerson(Person person) {
        this.person = person;
    }
}

Person 클래스는 다음과 같이

package com.example.demo_app.data.models;

import javax.persistence.*;
import java.util.List;

@Entity
public class Person {
    private Long id;

    @OneToMany(targetEntity = Order.class)
    private List<Order> orders;

    public void setId(Long id) {
        this.id = id;
    }

    @Id
    @GeneratedValue
    public Long getId() {
        return id;
    }

    public List<Order> getOrders() {
        return orders;
    }

    public void setOrders(List<Order> orders) {
        this.orders = orders;
    }
}

이는 오류동

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not determine type for: java.util.List, at table: person, for columns: [org.hibernate.mapping.Column(orders)]

Caused by: org.hibernate.MappingException: Could not determine type for: java.util.List, at table: person, for columns: [org.hibernate.mapping.Column(orders)]
    at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:512) 

어떤 도움에 감사드립니다. 감사합니다!

hibernate java spring spring-boot
2021-11-21 23:07:08
1

최고의 응답

2

당신은 오류가 발생하기 때문에 ORDER SQL 키워드를 사용합니다. 변경해 보십시오 테이블의 이름을 클래스 Order 다른 뭔가

@Entity
@Table(name="ORDERS")
public class Order {

@Id
private Long id;

@ManyToOne
@JoinColumn(name = "person_id")
private Person person;

//getters and setters

}

편집:이 Person 클래스를 넣어 주석 @Id@GeneratedValue id 분야에서,getter.

@Entity
@Table(name = "PERSON")
public class Person {
  @Id
  @GeneratedValue
  private Long id;

  @OneToMany(targetEntity = Order.class)
  private List<Order> orders;

  public void setId(Long id) {
     this.id = id;
  }

  public Long getId() {
      return id;
  }

  public List<Order> getOrders() {
      return orders;
  }

  public void setOrders(List<Order> orders) {
      this.orders = orders;
  }
}
2021-11-22 14:48:28

제안을 주셔서 감사합니다. 그러나 불행하게도 해결되지 않습니다. 여전히 동일한 문제입니다.
Bob

어쩌면을 넣어보십시오 spring.jpa.show-sql=true 에서 당신의 properties 파일을. 이를 식별하는 데 도움이 될 수 있습니다 문제입니다.
Grobocop12

I've 업데이트 내 응답
Grobocop12

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................