"loginID".
? Avatar, 'id', id/primary key?
, Avatar User loginId. - . :
@Entity
public class User
{
@Id
private String loginId;
private String screenName;
@OneToOne(mappedBy = "user")
private Avatar avatar;
}
@Entity
public class Avatar
{
@Id
private Integer id;
@OneToOne
private User user;
private String url;
}
User URL- Avatar, User, User Avatar, , URL Avatar , , Object User Avatar .
User user = fetchUserJoinAvatar("123");
String url = user.getAvatar().getUrl();
public User fetchUserJoinAvatar(String loginId)
{
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<User> query = cb.createQuery(User.class);
Root<User> user = query.from(User.class);
user.fetch("avatar");
query.select(user).where(cb.equal(user.get("loginId"), loginId));
return em.createQuery(query).getSingleResult();
}