Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.incentro.tmm.main.model;
- import javax.persistence.*;
- import java.util.Currency;
- @Entity
- @Table(name="Profile")
- public class Profile {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- @Column(name = "id", updatable = false, nullable = false)
- private long id;
- /**
- * ===================== EXPERT COLUMNS ====================
- */
- /**
- * EXPERT PERSONAL INFORMATION
- */
- @Column(name = "first_name", nullable = false)
- private String firstName;
- @Column(name = "last_name", nullable = false)
- private String lastName;
- /**
- * List, single selection: male/female
- * */
- @Column(name = "gender", nullable = false)
- private String gender;
- /**
- * List, single selection
- */
- @Column(name = "country_of_residence", nullable = false)
- private String countryOfResidence;
- /**
- * List, single selection
- */
- @Column(name = "city_of_residence", nullable = false)
- private String cityOfResidence;
- @Column(name = "email_address", nullable = false)
- private String emailAddress;
- @Column(name = "password", nullable = false)
- private String password;
- @Column(name = "date_of_birth", nullable = false)
- private String dateOfBirth;
- /**
- * List, single selection
- */
- @Column(name = "nationality", nullable = false)
- private String nationality;
- @Column(name = "current_or_last_profession", nullable = false)
- private String currentOrLastProfession;
- @Column(name = "current_or_last_company", nullable = true)
- private String currentOrLastCompany;
- @Column(name = "retired", nullable = false)
- private boolean retired;
- /**
- * EXPERT ORGANISATION INFO (ONLY CHANGEABLE BY ADMIN IN THIS MVP)
- */
- @Column(name = "associated_organisation", nullable = true)
- private String associatedOrganisation;
- @Column(name = "email_organisation", nullable = true)
- private String emailOrganisation;
- @Column(name = "verified", nullable = false)
- private boolean verified;
- /**
- * EXPERT EXPERTISE PROFILE
- */
- /**
- * List, single selection
- */
- @Column(name = "main_expertise", nullable = false)
- private String mainExpertise;
- /**
- * List, single selection
- */
- @Column(name = "sub_expertise", nullable = false)
- private String subExpertise;
- /**
- * List, multi selection
- */
- @Column(name = "sectors_expertise", nullable = false)
- private String sectorsExpertise;
- @Column(name = "years_main_expertise", nullable = false)
- private int yearsMainExpertise;
- /**
- * List, multi selection
- */
- @Column(name = "main_expertise_type", nullable = false)
- private String mainExpertiseType;
- /**
- * List, multi selection
- */
- @Column(name = "languages", nullable = false)
- private String languages;
- /**
- * List, multi selection
- */
- @Column(name = "countries_operated", nullable = false)
- private String countriesOperated;
- @Column(name = "description_expertise", nullable = false)
- private String descriptionExpertise;
- /**
- * EXPERT REVIEW (ONLY CHANGEABLE BY ADMIN IN THIS MVP)
- */
- @Column(name = "rating", nullable = true)
- private double rating;
- // average rating received, 1 to 5 stars
- @Column(name = "review_text", nullable = true)
- private String reviewText;
- /**
- * EXPERT AVAILABILITY
- */
- @Column(name = "start_date", nullable = false)
- private String startDate;
- @Column(name = "end_date", nullable = false)
- private String endDate;
- @Column(name = "hours_available", nullable = false)
- private int hoursAvailable;
- /**
- * List, multi selection
- */
- @Column(name = "availability_day", nullable = false)
- private String availabilityDay;
- /**
- * List, multi selection
- */
- @Column(name = "availability_week", nullable = false)
- private String availabilityWeek;
- /**
- * =============================== SME COLUMNS ===================================
- */
- /**
- * SME CONTACT
- */
- @Column(name = "sme_name", nullable = false)
- private String smeName;
- @Column(name = "sme_address", nullable = false)
- private String smeAddress;
- @Column(name = "sme_city", nullable = false)
- private String smeCity;
- @Column(name = "sme_zipcode", nullable = false)
- private String smeZipcode;
- @Column(name = "sme_country", nullable = false)
- private String smeCountry;
- /**
- *SME CONTACT PERSON (ALREADY IN EXPERT PERSONAL INFORMATION COLUMNS)
- // @Column(name = "first_name", nullable = false)
- // private String firstName;
- //
- // @Column(name = "last_name", nullable = false)
- // private String lastName;
- //
- // // List, single selection
- // @Column(name = "gender", nullable = false)
- // private String gender;
- //
- // @Column(name = "email_address", nullable = false)
- // private String emailAddress;
- //
- // @Column(name = "password", nullable = false)
- // private String password;
- //
- // @Column(name = "date_of_birth", nullable = false)
- // private String dateOfBirth;
- //
- // // List, single selection
- // @Column(name = "nationality", nullable = false)
- // private String nationality;
- *
- */
- /**
- * SME BACKGROUND INFO
- */
- @Column(name = "year_founded", nullable = false)
- private int yearFounded;
- /**
- * List, single selection
- */
- @Column(name = "legal_status", nullable = false)
- private String legalStatus;
- @Column(name = "state_ownership", nullable = false)
- private boolean stateOwnership;
- // CONDITIONAL MANDATORY. ONLY DISPLAY IF stateOwnership = true
- @Column(name = "state_ownership_since", nullable = true)
- private String stateOwnershipSince;
- // CONDITIONAL OPTIONAL. ONLY DISPLAY IF stateOwnership = true
- @Column(name = "state_ownership_until", nullable = true)
- private String stateOwnershipUntil;
- @Column(name = "foreign_ownership", nullable = false)
- private boolean foreignOwnership;
- // CONDITIONAL MANDATORY. ONLY DISPLAY IF foreignOwnership = true
- @Column(name = "foreign_ownership_since", nullable = true)
- private String foreignOwnershipSince;
- // CONDITIONAL OPTIONAL. ONLY DISPLAY IF foreignOwnership = true
- @Column(name = "foreign_ownership_until", nullable = true)
- private String foreignOwnershipUntil;
- @Column(name = "joint_venture", nullable = false)
- private boolean jointVenture;
- // CONDITIONAL MANDATORY. ONLY DISPLAY IF jointVenture = true
- @Column(name = "joint_venture_since", nullable = true)
- private String jointVentureSince;
- // CONDITIONAL OPTIONAL. ONLY DISPLAY IF jointVenture = true
- @Column(name = "joint_venture_until", nullable = true)
- private String jointVentureUntil;
- @Column(name = "industrial_or_export_cluster", nullable = false)
- private boolean industrialOrExportCluster;
- // CONDITIONAL MANDATORY. ONLY DISPLAY IF industrialOrExportCluster = true
- @Column(name = "cluster_name", nullable = true)
- private String clusterName;
- /**
- * List, single selection
- */
- @Column(name = "sector", nullable = false)
- private String sector;
- @Column(name = "turnover_usd", nullable = false)
- private int turnoverUsd;
- @Column(name = "percentage_exported", nullable = true)
- private double percentageExported;
- // 3 free text input boxes. 1 mandatory
- @Column(name = "main_products", nullable = false)
- private String mainProducts;
- // List, multi selection. 1 mandatory, 3 max (country list)
- @Column(name = "main_markets", nullable = false)
- private String mainMarkets;
- @Column(name = "fulltime_employees", nullable = false)
- private int fulltimeEmployees;
- @Column(name = "parttime_employees", nullable = false)
- private int parttimeEmployees;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement