чем заменить String при использованни hibernate связей?
Пытаюсь добавить связи в hibernate и мне нужно что бы поле на которое ссылается другое поле было String'ом но код не компилируется так, есть какие то обходы этой проблемы?
кстать если что вот текст ошибки:
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: @OneToOne or @ManyToOne on ua.prin.rom.entity.ShortLink.longLink references an unknown entity: java.lang.String
package ua.prin.rom.entity;
import javax.persistence.*;
import java.util.Objects;
@Entity
public class ShortLink {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
@ManyToOne(fetch = FetchType.EAGER)
private String longLink;
@Column(nullable = false)
private String shortlink;
Ответы (2 шт):
Видимо поле должно быть не типа String, а другого класса с аннотацией @Entity. Как например у класса Person поле класса Address.
У вас в ошибке ясно прописано ua.prin.rom.entity.ShortLink.longLink references an unknown entity, вы указали связь, но не указали на что ссылаетесь. Вам необходимо добавить @JoinColumn, а с обратной стороны mappedBy