127 lines
2.7 KiB
Java
127 lines
2.7 KiB
Java
package eu.eudat.migration.entities;
|
|
|
|
import org.hibernate.annotations.LazyCollection;
|
|
import org.hibernate.annotations.LazyCollectionOption;
|
|
|
|
import javax.persistence.*;
|
|
import java.util.Date;
|
|
import java.util.HashSet;
|
|
import java.util.Set;
|
|
|
|
@Entity
|
|
@Table(name = "users")
|
|
public class User {
|
|
|
|
@Id
|
|
private Long id;
|
|
private String firstname;
|
|
private String surname;
|
|
private String email;
|
|
@Column(name = "created_at")
|
|
@Temporal(TemporalType.TIMESTAMP)
|
|
private Date createdAt;
|
|
@Column(name = "updated_at")
|
|
@Temporal(TemporalType.TIMESTAMP)
|
|
private Date updatedAt;
|
|
@ManyToOne(fetch = FetchType.EAGER)
|
|
@JoinColumn(name = "org_id")
|
|
private Organization organization;
|
|
@ManyToOne(fetch = FetchType.EAGER)
|
|
@JoinColumn(name = "language_id")
|
|
private Language language;
|
|
@ManyToMany(cascade = CascadeType.ALL)
|
|
@JoinTable(name = "users_perms",
|
|
joinColumns = {@JoinColumn(name = "user_id")},
|
|
inverseJoinColumns = {@JoinColumn(name = "perm_id")}
|
|
)
|
|
@LazyCollection(LazyCollectionOption.FALSE)
|
|
private Set<Perm> perms = new HashSet<>();
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "User{" +
|
|
"id=" + id +
|
|
", firstname='" + firstname + '\'' +
|
|
", surname='" + surname + '\'' +
|
|
", email='" + email + '\'' +
|
|
", createdAt=" + createdAt +
|
|
", updatedAt=" + updatedAt +
|
|
", organization=" + organization +
|
|
", language=" + language +
|
|
", perms=" + perms +
|
|
'}';
|
|
}
|
|
|
|
public Long getId() {
|
|
return id;
|
|
}
|
|
|
|
public void setId(Long id) {
|
|
this.id = id;
|
|
}
|
|
|
|
public String getFirstname() {
|
|
return firstname;
|
|
}
|
|
|
|
public void setFirstname(String firstname) {
|
|
this.firstname = firstname;
|
|
}
|
|
|
|
public String getSurname() {
|
|
return surname;
|
|
}
|
|
|
|
public void setSurname(String surname) {
|
|
this.surname = surname;
|
|
}
|
|
|
|
public String getEmail() {
|
|
return email;
|
|
}
|
|
|
|
public void setEmail(String email) {
|
|
this.email = email;
|
|
}
|
|
|
|
public Date getCreatedAt() {
|
|
return createdAt;
|
|
}
|
|
|
|
public void setCreatedAt(Date createdAt) {
|
|
this.createdAt = createdAt;
|
|
}
|
|
|
|
public Date getUpdatedAt() {
|
|
return updatedAt;
|
|
}
|
|
|
|
public void setUpdatedAt(Date updatedAt) {
|
|
this.updatedAt = updatedAt;
|
|
}
|
|
|
|
public Organization getOrganization() {
|
|
return organization;
|
|
}
|
|
|
|
public void setOrganization(Organization organization) {
|
|
this.organization = organization;
|
|
}
|
|
|
|
public Language getLanguage() {
|
|
return language;
|
|
}
|
|
|
|
public void setLanguage(Language language) {
|
|
this.language = language;
|
|
}
|
|
|
|
public Set<Perm> getPerms() {
|
|
return perms;
|
|
}
|
|
|
|
public void setPerms(Set<Perm> perms) {
|
|
this.perms = perms;
|
|
}
|
|
}
|