1 package org.petify.backend.models; 2 3 import jakarta.persistence.Column; 4 import jakarta.persistence.Entity; 5 import jakarta.persistence.EnumType; 6 import jakarta.persistence.Enumerated; 7 import jakarta.persistence.GeneratedValue; 8 import jakarta.persistence.GenerationType; 9 import jakarta.persistence.Id; 10 import jakarta.persistence.Table; 11 import lombok.Getter; 12 import lombok.Setter; 13 14 @Entity 15 @Table(name = "achievements") 16 @Getter 17 @Setter 18 public class Achievement { 19 @Id 20 @GeneratedValue(strategy = GenerationType.IDENTITY) 21 private Long id; 22 23 @Column(name = "name", nullable = false) 24 private String name; 25 26 @Column(name = "description") 27 private String description; 28 29 @Column(name = "category") 30 @Enumerated(EnumType.STRING) 31 private AchievementCategory category; 32 33 @Column(name = "xp_reward") 34 private Integer xpReward; 35 36 @Column(name = "required_actions") 37 private Integer requiredActions; 38 39 @Column(name = "icon_name") 40 private String iconName; 41 }