Правильно, так что я работал над этим проектом некоторое время, и я использую JDBC + JSF.
В настоящее время у меня есть 3 DAO, пользователя, группы и группы пользователей.
Мой вопросбыло бы ... как установить связь между 3 классами: пользователь, группы и группы пользователей ??
В моей базе данных UserGroup - это ассоциативная сущность, в которой IDUSer и IDGroup являются основным составным ключом.
Отношение между пользователем и группой пользователей - от 1 до многих.Отношение между группами и UserGroup также равно 1 ко многим, при этом UserGroup имеет отношение «многие к 1» как с пользователем, так и с группами.
Было бы правильно, если я хочу создать отношение между пользователем и UserGroup, Group иUserGroup ??
public class UsuariousGrupos {
Integer id_usuario;
Integer id_grupo;
Grupos groups;
Usuarious users;
public UsuariousGrupos() {
}
public UsuariousGrupos(Integer id_usuario, Integer id_grupo) {
this.id_usuario = id_usuario;
this.id_grupo = id_grupo;
}
public Integer getId_grupo() {
return id_grupo;
}
public void setId_grupo(Integer id_grupo) {
this.id_grupo = id_grupo;
}
public Integer getId_usuario() {
return id_usuario;
}
public void setId_usuario(Integer id_usuario) {
this.id_usuario = id_usuario;
}
public Grupos getGroups() {
return groups;
}
public void setGroups(Grupos groups) {
this.groups = groups;
}
public Usuarious getUsers() {
return users;
}
public void setUsers(Usuarious users) {
this.users = users;
}
Кроме того, я проверил мое соединение DAO, и они работают нормально.Я могу отображать имя / описание из моей таблицы базы данных пользователей и таблицы базы данных групп.Однако, поскольку в моей таблице UserGroup хранятся только идентификаторы, я могу отображать только идентификаторы.Я хочу отобразить имя / описание пользователя / группы, связанной с идентификатором.Однако, когда я делаю следующее:
List<UsuariousGrupos> ugdList = ugd.list() ;
System.out.println("List of users successfully queried: " + ugdList);
System.out.println("Thus, amount of usergroups in database is: " + ugdList.size());
for (int i = 0; i < ugdList.size(); i++) {
System.out.println("Groups in database are: " + ugdList.get(i).getUsers().getNome());
System.out.println("Users in database are: " + ugdList.get(i).getGroups().getDescricao());
}
, я получаю исключение в потоке "main" java.lang.NullPointerException.По-видимому, я не могу получить доступ к объекту «Пользователи и группы» из моего списка групп пользователей: /, что наводит меня на мысль, что я пропускаю какие-то отношения между классами.
В этих строках возникает исключение нулевого указателя:
System.out.println("Groups in database are: " + ugdList.get(i).getUsers().getNome());
System.out.println("Users in database are: " + ugdList.get(i).getGroups().getDescricao()
очевидно, ugdList.get (i) .getUsers () и ugdList.get (i) .getGroups () равны нулю.
Есть мысли по этому поводу?