content: package com.activecourses.upwork.model;
  
  import jakarta.persistence.*;
  import lombok.*;
  import org.springframework.data.jpa.domain.support.AuditingEntityListener;
  
  import java.math.BigDecimal;
  import java.util.Set;
  
  @Data
  @NoArgsConstructor
  @AllArgsConstructor
  @Entity
  @Builder
  @EntityListeners(AuditingEntityListener.class)
  @Table(name = "user_profiles")
  public class UserProfile {
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private Integer profileId;
  
      private String title;
  
      private String description;
  
      @Column(precision = 19, scale = 2) // Example precision and scale
      private BigDecimal hourlyRate;
  
      private String location;
  
      @ToString.Exclude
      @OneToOne(cascade = CascadeType.ALL)
      @JoinColumn(name = "user_id", unique = true)
      private User user;
  
      @ManyToMany
      @JoinTable(
              name = "user_skills",
              joinColumns = @JoinColumn(name = "user_id"),
              inverseJoinColumns = @JoinColumn(name = "skill_id")
      )
      private Set<Skill> skills;
  }
  