у меня простой @Entity
класс
@Entity
@Table(name = "user")
@Getter
class User {
@Id
@GeneratedValue
private final Integer userID;
private final String username;
}
И еще один, который должен содержать внешний ключ к нему
@Getter
@Builder
@Entity
class Task {
@Id
@GeneratedValue
private final Integer taskID;
private final String title;
private final String details;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinTable(name = "user", joinColumns = {@JoinColumn(name = "userID")})
private final Integer userID;
}
Суть в том, что классы User
и Task
находятся в отдельных пакетах, и оба имеют область видимости пакета. Значит я не могу просто написать
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinTable(name = "user", joinColumns = {@JoinColumn(name = "userID")})
private final User user;
И вот почему я получаю
@OneToOne or @ManyToOne on com.johndoe.teamplanner.task.domain.Task.userID references an unknown entity: java.lang.Integer
Есть ли обходной путь, чтобы достичь того, что мне нужно? Создать отношения между двумя объектами, которые находятся в отдельных пакетах и с областью действия пакета?