All Downloads are FREE. Search and download functionalities are using the official Maven repository.

events.system.model.OfferedEventLocations Maven / Gradle / Ivy

package events.system.model;

import hbm.entity.BaseEntity;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.ForeignKey;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import user.management.model.Users;
import address.book.model.Addresses;

/**
 * The Entity class {@link OfferedEventLocations} is keeping the information for the offered event
 * locations from a provider.
 */
@Entity
@Table(name = "offered_event_locations")
@Getter
@Setter
@NoArgsConstructor
public class OfferedEventLocations extends BaseEntity implements Cloneable
{
	/** The serial Version UID */
	private static final long serialVersionUID = 1L;
	/**
	 * The eventLocationData attribute that references to the Entity class {@link EventLocationData}
	 */
	@ManyToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "event_location_data_id", nullable = true, referencedColumnName = "id", foreignKey = @ForeignKey(name = "FK_OFFERED_EVENT_LOCATIONS_EVENT_LOCATION_DATA_ID"))
	private EventLocationData eventLocationData;
	/** A description from the location and how to get there. */
	@Column(name = "location_description", length = 21845)
	private String locationDescription;
	/** A description from the equipment from the event location. */
	@Column(name = "location_equipment_description", length = 21845)
	private String locationEquipmentDescription;
	/** A description from which provider is the location offered. */
	@Column(name = "offered_from_description", length = 21845)
	private String offeredFromDescription;
	/** A description of the support from this location. */
	@Column(name = "support_description", length = 21845)
	private String supportDescription;

	@ManyToOne
	@JoinColumn(name = "provider_id", nullable = true, referencedColumnName = "id", foreignKey = @ForeignKey(name = "FK_OFFERED_EVENT_LOCATIONS_PROVIDER_ID"))
	private Users provider;

	/**
	 * The Addresses attribute that references to the Entity class {@link Addresses}.
	 */
	@ManyToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "user_address_id", nullable = true, referencedColumnName = "id", foreignKey = @ForeignKey(name = "FK_OFFERED_EVENT_LOCATIONS_USER_ADDRESS_ID"))
	private Addresses userAddress;
	/**
	 * The contactPerson attribute that references to the Entity class {@link Users} and is the
	 * contact person for this offered event location.
	 */
	@ManyToOne
	@JoinColumn(name = "user_id", nullable = true, referencedColumnName = "id", foreignKey = @ForeignKey(name = "FK_OFFERED_EVENT_LOCATIONS_CONTACT_PERSON_ID"))
	private Users contactPerson;

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy