]> git.somenet.org - pub/jan/dst18.git/blob - ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Person.java
[1.1.2] inheritance: joined.
[pub/jan/dst18.git] / ass1-jpa / src / main / java / dst / ass1 / jpa / model / impl / Person.java
1 package dst.ass1.jpa.model.impl;
2
3 import dst.ass1.jpa.model.IAddress;
4 import dst.ass1.jpa.model.IPerson;
5 import dst.ass1.jpa.util.Constants;
6
7 import javax.persistence.*;
8
9 @Entity
10 @Table(name = Constants.T_PERSON)
11 @Inheritance(strategy = InheritanceType.JOINED)
12 public abstract class Person implements IPerson {
13     @Id
14     @GeneratedValue
15     private Long id;
16
17     @Column()
18     private String name;
19
20     @Embedded
21     private Address address;
22
23     @Override
24     public Long getId() {
25         return id;
26     }
27
28     @Override
29     public void setId(Long id) {
30         this.id = id;
31     }
32
33     @Override
34     public String getName() {
35         return name;
36     }
37
38     @Override
39     public void setName(String name) {
40         this.name = name;
41     }
42
43     @Override
44     public IAddress getAddress() {
45         return address;
46     }
47
48     @Override
49     public void setAddress(IAddress address) {
50         if (address instanceof Address) {
51             this.address = (Address) address;
52         }
53     }
54 }