나는이 엔티티를 가지고있다.이 프로퍼티는 "parent"속성을 가진 메시지 또한 Message 유형이다. 자식이 parent = null 인 메시지를 만들고 parent = message 인 메시지는 주석이 될 것이므로 트리 메시지와 주석이 있습니다.Hibernate @ManyToOne 자체 호출
@Entity
@Table(name = "message")
public class Message extends BaseModel{
@Id
@Column(name = "id", updatable = false, nullable = false)
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne
@JoinColumn(name="user_id", nullable=false)
private User user;
private String text;
@ManyToOne(fetch = FetchType.EAGER, optional = true)
@JoinColumn(name = "message_id",nullable = true)
private Message parent;
그러나 나는 여기에 코드 내 개체를 저장하려고하면
org.hibernate.TransientPropertyValueException : null이 아니 특성 참조 난 항상이 메시지
Message message = messageRepository.save( MapperUtils.getInstance().map(messageDTO,Message.class) );
을 일시적인 값 - 일시적인 인스턴스는 현재 작업 전에 저장해야합니다. gara.models.Message.user -> gara.models.User;
org.hibernate.TransientPropertyValueException : null이 아니 특성
참조 과도 값 - 과도 인스턴스가 현재 작업하기 전에 저장해야합니다 : 상자의 예외는 java.lang.IllegalStateException입니다 gara.models.Message.user -> 가라. models.User는 "
나는 그것을 고정 수있는 방법 또는 작업가 약?
감사합니다! 오류가 해결책을 알려줍니다
당신이 맞습니다 : MapperUtils.getInstance(). map (messageDTO, Message.class)는 user-> id 속성없이 객체를 파싱합니다 ... 오류가 있습니다. –