-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathSpeaker.java
More file actions
49 lines (42 loc) · 1.32 KB
/
Speaker.java
File metadata and controls
49 lines (42 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package io.bcn.springConference.model;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.hibernate.annotations.GenericGenerator;
import java.util.Objects;
import java.util.UUID;
@Entity
@Table(name = "speakers")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Speaker {
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID",
strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "id", updatable = false,
nullable = false)
private UUID id;
private String name;
private String bio;
private String email;
// @ManyToOne
// @JoinColumn(name = "conference_id")
// private Conference conference;
// https://stackoverflow.com/questions/17298314/java-vaadin-nativeselect-setvalue-not-working/17299605#17299605
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Speaker speaker)) return false;
return Objects.equals(id, speaker.id) && Objects.equals(name, speaker.name) &&
Objects.equals(bio, speaker.bio) && Objects.equals(email, speaker.email);
}
@Override
public int hashCode() {
return Objects.hash(id, name, bio, email);
}
}