Я связываю таблицу пользователей с доступом к приложению. Здесь один Пользователь может иметь доступ ко многим приложениям. Я успешно выполнил сопоставление с приведенным ниже фрагментом кода.
Пользовательский объект сущности:
@Entity
@Table(name = "USER_TBL", uniqueConstraints = { @UniqueConstraint(columnNames = "USER_NAME") })
public class User implements Serializable {
.....
@Id
@GeneratedValue
@Column(name = "USER_ID", unique = true, nullable = false)
private Integer userId;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "user")
private List<UserAppAssociation> userAssociatedApplications = new ArrayList<UserAppAssociation>();
Getter and setter for userAssociatedApplications
}
Объект доступа к приложению:
@Entity
@Table(name="APPLICATION_ASSOC_TBL")
public class UserAppAssociation implements Serializable{
@Id
@Column(name="user_id", unique=true, nullable=false)
private Integer userId;
@Column(name = "application_id")
private Integer appId;
@Column(name = "user_type_id")
private Integer userTypeId;
...
@ManyToOne
@JoinColumn(name="USER_ID",insertable=false,updatable=false)
private User user;
..
getters and setters
}
Проблема:
I am getting the same values in the Application List ('userAssociatedApplications'). Though i have different values in the application access table, I get the same values in the list. The first row value is repeated in the list.
DB:
I have 'User' table and the mapping is with application access
Таблица пользователей: столбцы USER_TBL user_id имя телефон
Таблица доступа к приложениям: APPLICATION_ASSOC_TBL
Столбцы User_id application_id и User_type
Примечание. В этой таблице нет первичного ключа.
Пример данных: User_id application_id User_type 1 1 1 1 2 1 1 3 1
Проблема: я получаю первое значение 1,1,1 в списке трижды. Ожидается: список должен содержать 3 разных значения.
Пожалуйста, помогите. Я не уверен, пропустил ли я что-нибудь в отображении аннотаций.