У меня есть два объекта в моем Java EAR: пользователь и пароль. Разумеется, в базе данных есть соответствующие таблицы: пользователи и пароли. Таблица паролей содержит идентификатор пользователя как внешний ключ. Итак, мой вопрос: как я могу извлечь запись пароля из таблицы паролей, когда Пользователь создан из таблицы «Пользователи», используя чисто аннотации? Я в недоумении.Ссылка на объект от другого объекта
Я не хочу использовать бизнес-логику для доступа к связанному с ним паролю пользователя, поэтому мне нужен контейнер, чтобы сделать это для меня.
ГККП:
@Entity
@Table(name = "USERS")
public class User{
@Id
@Basic(optional = false)
@NotNull
@Column(name = "IDENTIFIER", nullable = false)
private Long identifier;
@JoinColumn(name = "UserIdentifier")
@OneToOne
private Password password;
// getters, setters, and other User related information such as username
}
@Entity
@Table(name = "PASSWORDS")
public class Password{
@Id
@Basic(optional = false)
@NotNull
@Column(name = "IDENTIFIER", nullable = false)
private Long identifier;
@JoinColumn(name = "USERIDENTIFIER", referencedColumnName = "IDENTIFIER", nullable = false)
@OneToOne(optional = false, fetch = FetchType.EAGER)
private User useridentifier;
//getters, setters, and other password related fields such as the password it's self
}
и тот факт, что вам не хватает «mappedBy» для вашего 1-1 двунаправленного отношения. –
Включает ли аннотацию mappedBy оба объекта или только базовый объект (Пользователь в этом случае)? или я полностью от основания? lol –
@ neil-stockton Да, я пропустил это. Теперь редактируем его. –