@NamedQuery (name = "SearchUserId", query = "SELECT u FROM users AS u WHERE u.userId = :id"),
@NamedQuery (name = "SearchEmailAddress", query = "SELECT u FROM users AS u INNER JOIN contacts AS c ON u.userContact = c WHERE LOWER(c.contactEmailAddress) LIKE LOWER(:param)"),
@NamedQuery (name = "SearchAllUsersExcept", query = "SELECT u FROM users AS u WHERE u != :user ORDER BY u.userId ASC"),
+ @NamedQuery (name = "AllUsers", query = "SELECT u FROM users AS u ORDER BY u.userId ASC"),
@NamedQuery (name = "AllPublicUsers", query = "SELECT u FROM users AS u WHERE u.userAccountStatus = :status AND u.userProfileMode = :mode ORDER BY u.userId ASC"),
@NamedQuery (name = "AllMemberPublicUsers", query = "SELECT u FROM users AS u WHERE u.userAccountStatus = :status AND u.userProfileMode IN (:public, :members) ORDER BY u.userId ASC")
}
)
+@SuppressWarnings ("PersistenceUnitPresent")
public class LoginUser implements User {
/**
/**
* Id number from "contacts" table
*/
- @JoinColumn (name = "user_contact_id", nullable = false, updatable = false)
+ @JoinColumn (name = "user_contact_id", referencedColumnName = "contact_id", nullable = false, updatable = false, unique = true)
@OneToOne (targetEntity = UserContact.class, cascade = CascadeType.ALL, optional = false)
private Contact userContact;
/**
* Encrypted password
*/
+ @Basic (optional = false)
@Column (name = "user_encrypted_password", nullable = false)
private String userEncryptedPassword;
/**
* User name
*/
+ @Basic (optional = false)
@Column (name = "user_name", nullable = false, length = 20)
private String userName;
@Override
public void copyAll (final User user) {
- // Copy also contact data
- this.getUserContact().copyAll(user.getUserContact());
+ // Is contact set?
+ if (user.getUserContact() instanceof Contact) {
+ // Copy also contact data
+ this.getUserContact().copyAll(user.getUserContact());
+ }
// Copy other data
this.setUserConfirmKey(user.getUserConfirmKey());
@Override
public boolean equals (final Object object) {
- if (object == null) {
+ if (null == object) {
return false;
}
if (this.getClass() != object.getClass()) {