1   /*
2    * Employee.java
3    *
4    * Created on 22 Апрель 2006 г., 17:36
5    */
6   
7   package org.weda.domain;
8   
9   import java.io.Serializable;
10  import javax.persistence.Basic;
11  import javax.persistence.Column;
12  import javax.persistence.Entity;
13  import javax.persistence.FetchType;
14  import javax.persistence.GeneratedValue;
15  import javax.persistence.GenerationType;
16  import javax.persistence.Id;
17  import javax.persistence.ManyToOne;
18  import javax.persistence.Lob;
19  import org.hibernate.annotations.Columns;
20  import org.weda.property.annotations.ConstraintId;
21  import org.weda.property.annotations.Constraints;
22  import org.weda.property.annotations.Description;
23  import org.weda.store.Auditable;
24  
25  /**
26   *
27   * @author Mikhail Titov
28   */
29  @Entity
30  @org.hibernate.annotations.Entity(dynamicUpdate=true)
31  public class Employee implements Serializable, Auditable {
32      public enum Sex {мужской, женский};
33      
34      private Long id;
35      private String name;
36      private Sex sex;
37      private byte[] photo;
38      private byte[] photo2;
39      private Company company;    
40      private Post post;
41  
42      @Id @GeneratedValue(strategy=GenerationType.AUTO)
43      @Description(displayName="s/n")
44      public Long getId() {
45          return id;
46      }
47  
48      public void setId(Long id) {
49          this.id = id;
50      }
51  
52      @Description(displayName="Инициалы")
53      public String getName() {
54          return name;
55      }
56  
57      public void setName(String name) {
58          this.name = name;
59      }
60  
61      @ManyToOne
62      public Company getCompany() {
63          return company;
64      }
65  
66      public void setCompany(Company company) {
67          this.company = company;
68      }
69  
70      @Description(displayName="Фотография", mimeType="image/jpeg")
71      @Basic(fetch=FetchType.LAZY)
72      public byte[] getPhoto() {
73          return photo;
74      }
75  
76      public void setPhoto(byte[] photo) {
77          this.photo = photo;
78      }
79  
80      @Description(displayName="Фотография 2", mimeType="image/jpeg")
81      public byte[] getPhoto2() {
82          return photo2;
83      }
84  
85      public void setPhoto2(byte[] photo2) {
86          this.photo2 = photo2;
87      }
88  
89      @ManyToOne()
90      @Description(displayName="Занимаемая должность")
91      @Constraints({
92          @ConstraintId("post")
93      })
94      public Post getPost() {
95          return post;
96      }
97  
98      public void setPost(Post post) {
99          this.post = post;
100     }
101     
102     @Description(displayName="Пол")
103 //    @Constraints({
104 //        @ConstraintId("sex")
105 //    })
106     public Sex getSex() {
107         return sex;
108     }
109     
110     public void setSex(Sex sex) {
111         this.sex = sex;
112     }
113 }