FreelanceBot

Форк
0
52 строки · 1.1 Кб
1
package telegramBot.entity;
2

3
import jakarta.persistence.GeneratedValue;
4
import jakarta.persistence.GenerationType;
5
import jakarta.persistence.Id;
6
import jakarta.persistence.MappedSuperclass;
7
import org.apache.http.util.Asserts;
8
import org.springframework.data.domain.Persistable;
9

10
import java.util.Objects;
11

12
@MappedSuperclass
13
public abstract class BaseEntity implements Persistable<Long> {
14

15
    @Id
16
    @GeneratedValue(strategy = GenerationType.IDENTITY)
17
    protected Long id;
18

19
    public BaseEntity(){}
20

21
    @Override
22
    public boolean isNew() {
23
        return id == null;
24
    }
25

26
    @Override
27
    public Long getId() {
28
        return id;
29
    }
30

31
    public long id() {
32
        Asserts.notNull(id, "entity must have id");
33
        return this.id;
34
    }
35

36
    public void setId(Long id){
37
        this.id = id;
38
    }
39

40
    @Override
41
    public int hashCode() {
42
        return id == null ? 0 : id.intValue();
43
    }
44

45
    @Override
46
    public boolean equals(Object obj) {
47
        if(this == obj) return true;
48
        if(!(obj instanceof BaseEntity)) return false;
49
        BaseEntity entity = (BaseEntity) obj;
50
        return Objects.equals(this.id, entity.id);
51
    }
52
}
53

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.