User.java 5.85 KB
package fi.insomnia.intra.db;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.ManyToMany;
import javax.persistence.NamedQueries;
import javax.persistence.OneToMany;
import javax.persistence.NamedQuery;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.compass.annotations.Searchable;
import org.compass.annotations.SearchableProperty;
import org.eclipse.persistence.annotations.Cache;

/**
 * Entity implementation class for Entity: User
 * 
 */
@Entity
@Cache(alwaysRefresh=true)
@Searchable
@NamedQueries(value = { @NamedQuery(name = "findAllUsers", query = "select u from User u"), 
	@NamedQuery(name = "countAllUsers", query = "select count(u) as ret from User u"),
	@NamedQuery(name = "findSearch", query = "select u from User u where u.name like :search or u.nick like :search or u.id = :searchId"),
	@NamedQuery(name = "countSearch", query = "select count(u) as ret from User u where u.name like :search or u.nick like :search or u.id = :searchId"),})
public class User extends BaseEntity implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 7553608322249007749L;
    @Temporal(value = TemporalType.TIMESTAMP)
    private Date created;
    @Temporal(value = TemporalType.TIMESTAMP)
    private Date edited;
    @SearchableProperty
    private String name;
    private String password;
    @SearchableProperty
    private String nick;
    @SearchableProperty
    private String email;
    @SearchableProperty
    private String address;
    @Column(length = 11)
    private String zip;
    private BigDecimal price;
    private String town;
    private String phone;
    private Boolean female;
    private Boolean paid;
    private Boolean passive;
    
    @OneToMany(mappedBy="shopper")
    private List<ShopAction> shopHistory;
    /*
     * 11:09 <Femur> 0 konepaikka 11:09 <Femur> 1 vieras 11:09 <Femur> 2 vip
     * 11:09 <Femur> 10 "core" org 11:09 <Femur> 11 org
     */

    private int type;
    @Column(length = 32)
    private String discount;
    @Column(length = 32)
    private String code;
    @Column(length = 4)
    private Integer birthyear;
    
    
    
    @OneToMany(mappedBy="user")
    private List<FoodwaveOrder> orders;

    @OneToMany(mappedBy = "leader")
    private List<Usergroup> leaderInGroup;

    @ManyToMany(mappedBy = "members")
    private List<Usergroup> groups;

    @OneToMany(mappedBy = "user")
    private List<Place> places;

    @OneToMany(mappedBy = "owner")
    private List<UserImage> images;

    public User() {
	super();
    }

    public Date getCreated() {
	return this.created;
    }

    public void setCreated(Date created) {
	this.created = created;
    }

    public Date getEdited() {
	return this.edited;
    }

    public void setEdited(Date edited) {
	this.edited = edited;
    }

    public String getName() {
	return this.name;
    }

    public void setName(String name) {
	this.name = name;
    }

    public String getPassword() {
	return this.password;
    }

    public void setPassword(String password) {
	this.password = password;
    }

    public String getNick() {
	return this.nick;
    }

    public void setNick(String nick) {
	this.nick = nick;
    }

    public String getEmail() {
	return this.email;
    }

    public void setEmail(String email) {
	this.email = email;
    }

    public String getAddress() {
	return this.address;
    }

    public void setAddress(String address) {
	this.address = address;
    }

    public String getTown() {
	return this.town;
    }

    public void setTown(String town) {
	this.town = town;
    }

    public String getPhone() {
	return this.phone;
    }

    public void setPhone(String phone) {
	this.phone = phone;
    }


    public void setLeaderInGroup(List<Usergroup> leaderInGroup) {
	this.leaderInGroup = leaderInGroup;
    }

    public List<Usergroup> getLeaderInGroup() {
	return leaderInGroup;
    }

    public void setGroups(List<Usergroup> groups) {
	this.groups = groups;
    }

    public List<Usergroup> getGroups() {
	return groups;
    }

    public void setPlaces(List<Place> places) {
	this.places = places;
    }

    public List<Place> getPlaces() {
	return places;
    }

    public void setImages(List<UserImage> images) {
	this.images = images;
    }

    public List<UserImage> getImages() {
	return images;
    }

    public void setZip(String zip) {
	this.zip = zip;
    }

    public String getZip() {
	return zip;
    }

    public void setPrice(BigDecimal price) {
	this.price = price;
    }

    public BigDecimal getPrice() {
	return price;
    }


    public void setType(int type) {
	this.type = type;
    }

    public int getType() {
	return type;
    }

    public void setDiscount(String discount) {
	this.discount = discount;
    }

    public String getDiscount() {
	return discount;
    }

    public void setCode(String code) {
	this.code = code;
    }

    public String getCode() {
	return code;
    }


    public void setBirthyear(Integer birthyear) {
	this.birthyear = birthyear;
    }

    public Integer getBirthyear() {
	return birthyear;
    }

    public void setFemale(Boolean female) {
	this.female = female;
    }

    public Boolean getFemale() {
	return female;
    }

    public void setPaid(Boolean paid) {
	this.paid = paid;
    }

    public Boolean getPaid() {
	return paid;
    }

    public void setPassive(Boolean passive) {
	this.passive = passive;
    }

    public Boolean getPassive() {
	return passive;
    }

    public void setShopHistory(List<ShopAction> shopHistory) {
	this.shopHistory = shopHistory;
    }

    public List<ShopAction> getShopHistory() {
	return shopHistory;
    }

    public void setOrders(List<FoodwaveOrder> orders) {
	this.orders = orders;
    }

    public List<FoodwaveOrder> getOrders() {
	return orders;
    }

   

   
}