Refactored contact search, added Javadoc
This commit is contained in:
@ -3,17 +3,7 @@ package envoy.server.data;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.persistence.CascadeType;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.ManyToMany;
|
||||
import javax.persistence.NamedQueries;
|
||||
import javax.persistence.NamedQuery;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.Temporal;
|
||||
import javax.persistence.TemporalType;
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* This class serves as a way to let Hibernate communicate with the server
|
||||
@ -32,9 +22,13 @@ import javax.persistence.TemporalType;
|
||||
@Entity
|
||||
@Table(name = "users")
|
||||
@NamedQueries(
|
||||
{ @NamedQuery(query = "SELECT u FROM User u WHERE u.name = :name", name = "getUserByName"),
|
||||
@NamedQuery(query = "SELECT u.contacts FROM User u WHERE u = :user", name = "getContactsOfUser"),
|
||||
@NamedQuery(query = "SELECT u FROM User u WHERE lower(u.name) LIKE lower(:searchPhrase)", name = "searchUsers") }
|
||||
{ @NamedQuery(query = "SELECT u FROM User u WHERE u.name = :name", name = "getUserByName"), @NamedQuery(
|
||||
query = "SELECT u.contacts FROM User u WHERE u = :user",
|
||||
name = "getContactsOfUser"
|
||||
), @NamedQuery(
|
||||
query = "SELECT u FROM User u WHERE (lower(u.name) LIKE lower(:searchPhrase) AND u <> :context AND NOT :context in elements(u.contacts))",
|
||||
name = "searchUsers"
|
||||
) }
|
||||
)
|
||||
public class User {
|
||||
|
||||
@ -48,7 +42,7 @@ public class User {
|
||||
private Date lastSeen;
|
||||
private envoy.data.User.UserStatus status;
|
||||
|
||||
@ManyToMany(targetEntity = User.class, cascade = CascadeType.ALL) // , orphanRemoval = true
|
||||
@ManyToMany(targetEntity = User.class, cascade = CascadeType.ALL)
|
||||
private List<User> contacts;
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user