Created
November 23, 2012 11:58
-
-
Save smithh032772/4135311 to your computer and use it in GitHub Desktop.
Users table structure and entity class
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE TABLE users ( | |
user_name VARCHAR(128) NOT NULL, | |
password VARCHAR(128) NOT NULL, | |
theme VARCHAR(25), | |
active CHAR(1) DEFAULT 'Y', | |
active_status_changed_dt TIMESTAMP, | |
created_dt TIMESTAMP DEFAULT CURRENT TIMESTAMP, | |
last_login_dt TIMESTAMP, | |
password_last_changed_dt TIMESTAMP, | |
CONSTRAINT users_pk PRIMARY KEY ( user_name ) | |
); | |
/* | |
* 2012-07-19 | |
* users table: last_logout_dt, logged_in_via_mobile; assign default values | |
* | |
*/ | |
ALTER TABLE users ADD COLUMN last_logout_dt TIMESTAMP; | |
ALTER TABLE users ADD COLUMN logged_in_via_mobile CHAR(1) DEFAULT 'N'; | |
UPDATE users SET logged_in_via_mobile = 'N'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* To change this template, choose Tools | Templates | |
* and open the template in the editor. | |
*/ | |
package jpa.entities; | |
import java.io.Serializable; | |
import java.util.Collection; | |
import java.util.Date; | |
import javax.persistence.*; | |
import javax.validation.constraints.NotNull; | |
import javax.validation.constraints.Size; | |
import javax.xml.bind.annotation.XmlRootElement; | |
import javax.xml.bind.annotation.XmlTransient; | |
/** | |
* | |
* @author Administrator | |
*/ | |
@Entity | |
@Table(name = "USERS") | |
@XmlRootElement | |
@NamedQueries({ | |
@NamedQuery(name = "Users.findAll", query = "SELECT u FROM Users u"), | |
@NamedQuery(name = "Users.findByUserName", query = "SELECT u FROM Users u WHERE u.userName = :userName"), | |
@NamedQuery(name = "Users.findByPassword", query = "SELECT u FROM Users u WHERE u.password = :password"), | |
@NamedQuery(name = "Users.findByTheme", query = "SELECT u FROM Users u WHERE u.theme = :theme"), | |
@NamedQuery(name = "Users.findByActive", query = "SELECT u FROM Users u WHERE u.active = :active"), | |
@NamedQuery(name = "Users.findByActiveStatusChangedDt", query = "SELECT u FROM Users u WHERE u.activeStatusChangedDt = :activeStatusChangedDt"), | |
@NamedQuery(name = "Users.findByCreatedDt", query = "SELECT u FROM Users u WHERE u.createdDt = :createdDt"), | |
@NamedQuery(name = "Users.findByLastLoginDt", query = "SELECT u FROM Users u WHERE u.lastLoginDt = :lastLoginDt"), | |
@NamedQuery(name = "Users.findByLastLogoutDt", query = "SELECT u FROM Users u WHERE u.lastLogoutDt = :lastLogoutDt"), | |
@NamedQuery(name = "Users.findByLoggedInViaMobile", query = "SELECT u FROM Users u WHERE u.loggedInViaMobile = :loggedInViaMobile"), | |
@NamedQuery(name = "Users.findByPasswordLastChangedDt", query = "SELECT u FROM Users u WHERE u.passwordLastChangedDt = :passwordLastChangedDt")}) | |
public class Users implements Serializable { | |
private static final long serialVersionUID = 1L; | |
@Id | |
@Basic(optional = false) | |
@NotNull | |
@Size(min = 1, max = 128) | |
@Column(name = "USER_NAME") | |
private String userName; | |
@Basic(optional = false) | |
@NotNull | |
@Size(min = 1, max = 128) | |
@Column(name = "PASSWORD") | |
private String password; | |
@Size(min = 1, max = 25) | |
@Column(name = "THEME") | |
private String theme; | |
@Column(name = "ACTIVE") | |
private Character active; | |
@Column(name = "ACTIVE_STATUS_CHANGED_DT") | |
@Temporal(TemporalType.TIMESTAMP) | |
private Date activeStatusChangedDt; | |
@Column(name = "CREATED_DT") | |
@Temporal(TemporalType.TIMESTAMP) | |
private Date createdDt; | |
@Column(name = "LAST_LOGIN_DT") | |
@Temporal(TemporalType.TIMESTAMP) | |
private Date lastLoginDt; | |
@Column(name = "LAST_LOGOUT_DT") | |
@Temporal(TemporalType.TIMESTAMP) | |
private Date lastLogoutDt; | |
@Column(name = "LOGGED_IN_VIA_MOBILE") | |
private Character loggedInViaMobile; | |
@Column(name = "PASSWORD_LAST_CHANGED_DT") | |
@Temporal(TemporalType.TIMESTAMP) | |
private Date passwordLastChangedDt; | |
@ManyToMany(mappedBy = "users") | |
private Collection<EmailAddress> emailAddresses; | |
@OneToMany(cascade = CascadeType.ALL, mappedBy = "user") | |
private Collection<UserRole> userRoles; | |
@OneToMany(cascade = CascadeType.ALL, mappedBy = "userName") | |
private Collection<AuditTrail> auditTrails; | |
public Users() { | |
} | |
public Users(String userName) { | |
this.userName = userName; | |
} | |
public Users(String userName, String password) { | |
this.userName = userName; | |
this.password = password; | |
} | |
public String getUserName() { | |
return userName; | |
} | |
public void setUserName(String userName) { | |
this.userName = userName; | |
} | |
public String getPassword() { | |
return password; | |
} | |
public void setPassword(String password) { | |
this.password = password; | |
} | |
public String getTheme() { | |
return theme; | |
} | |
public void setTheme(String theme) { | |
this.theme = theme; | |
} | |
public Character getActive() { | |
return active; | |
} | |
public void setActive(Character active) { | |
this.active = active; | |
} | |
public Date getActiveStatusChangedDt() { | |
return activeStatusChangedDt; | |
} | |
public void setActiveStatusChangedDt(Date activeStatusChangedDt) { | |
this.activeStatusChangedDt = activeStatusChangedDt; | |
} | |
public Date getCreatedDt() { | |
return createdDt; | |
} | |
public void setCreatedDt(Date createdDt) { | |
this.createdDt = createdDt; | |
} | |
public Date getLastLoginDt() { | |
return lastLoginDt; | |
} | |
public void setLastLoginDt(Date lastLoginDt) { | |
this.lastLoginDt = lastLoginDt; | |
} | |
public Date getLastLogoutDt() { | |
return lastLogoutDt; | |
} | |
public void setLastLogoutDt(Date lastLogoutDt) { | |
this.lastLogoutDt = lastLogoutDt; | |
} | |
public Character getLoggedInViaMobile() { | |
return loggedInViaMobile; | |
} | |
public void setLoggedInViaMobile(Character loggedInViaMobile) { | |
this.loggedInViaMobile = loggedInViaMobile; | |
} | |
public Date getPasswordLastChangedDt() { | |
return passwordLastChangedDt; | |
} | |
public void setPasswordLastChangedDt(Date passwordLastChangedDt) { | |
this.passwordLastChangedDt = passwordLastChangedDt; | |
} | |
@XmlTransient | |
public Collection<EmailAddress> getEmailAddresses() { | |
return emailAddresses; | |
} | |
public void setEmailAddresses(Collection<EmailAddress> emailAddresses) { | |
this.emailAddresses = emailAddresses; | |
} | |
public void addEmailAddress(EmailAddress emailAddress) { | |
emailAddresses.add(emailAddress); | |
} | |
public void removeEmailAddress(EmailAddress emailAddress) { | |
emailAddresses.remove(emailAddress); | |
} | |
@XmlTransient | |
public Collection<UserRole> getUserRoles() { | |
return userRoles; | |
} | |
public void setUserRoles(Collection<UserRole> userRoles) { | |
this.userRoles = userRoles; | |
} | |
public void addUserRole(UserRole userRole) { | |
userRoles.add(userRole); | |
} | |
public void removeUserRole(UserRole userRole) { | |
userRoles.remove(userRole); | |
} | |
@XmlTransient | |
public Collection<AuditTrail> getAuditTrails() { | |
return auditTrails; | |
} | |
public void setAuditTrails(Collection<AuditTrail> auditTrails) { | |
this.auditTrails = auditTrails; | |
} | |
public void addAuditTrail(AuditTrail auditTrail) { | |
auditTrails.add(auditTrail); | |
} | |
public void removeAuditTrail(AuditTrail auditTrail) { | |
auditTrails.remove(auditTrail); | |
} | |
@Override | |
public int hashCode() { | |
int hash = 0; | |
hash += (userName != null ? userName.hashCode() : 0); | |
return hash; | |
} | |
@Override | |
public boolean equals(Object object) { | |
// TODO: Warning - this method won't work in the case the id fields are not set | |
if (!(object instanceof Users)) { | |
return false; | |
} | |
Users other = (Users) object; | |
if ((this.userName == null && other.userName != null) || (this.userName != null && !this.userName.equals(other.userName))) { | |
return false; | |
} | |
return true; | |
} | |
@Override | |
public String toString() { | |
return "jpa.entities.Users[ userName=" + userName + " ]"; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment