Обычной практикой является создание сущности типа User, если у вас есть система, в которой пользователь может войти в систему и имеет свои собственные вещи.
Рассмотрим класс Item
:
@Entity
public class Item {
@NotNull
@ManyToOne
private User user; // plus getter + setter
}
Затем вы получаете список предметов от конкретного пользователя:
String query = "SELECT i FROM Item i WHERE i.user = :user";
List<Item> items = entityManager.createQuery(query)
.setParameter("user", user) // where 'user' is the current user
.getResultList;
И пример Bean в JSF:
public class ItemsBean implements Serializable {
private User user;
private List<Item> items;
public User getUser() {
if (user == null) {
ExternalContext ctx = FacesContext.getCurrentInstance().getExternalContext();
Principal principal = ctx.getUserPrincipal();
user = ... // load user: username = principal.getName()
}
return user;
}
public List<Item> getItems() {
if (items == null) {
User user = getUser();
List<Item> = ... // load items as shown above
}
return items;
}
}