gt: 		if (aThat == null)  {
context: package com.servinglynk.hmis.warehouse.model.v2020;
  
  import java.io.Serializable;
  import java.time.LocalDateTime;
  import java.util.Collections;
  import java.util.Map;
  import java.util.WeakHashMap;
  
  import javax.persistence.Basic;
  import javax.persistence.CascadeType;
  import javax.persistence.Column;
  import javax.persistence.Entity;
  import javax.persistence.FetchType;
  import javax.persistence.Id;
  import javax.persistence.JoinColumn;
  import javax.persistence.ManyToOne;
  import javax.persistence.Table;
  import javax.persistence.Transient;
  
  import org.hibernate.annotations.Type;
  import org.hibernate.proxy.HibernateProxy;
  
  import com.servinglynk.hmis.warehouse.enums.DataCollectionStageEnum;
  import com.servinglynk.hmis.warehouse.model.EnrollmentSharingModel;
  
  
  /**
   * Object mapping for hibernate-handled table: enrollment_coc.
   *
   *
   * @author Sandeep Dolia
   */
  
  
  @Entity(name = "enrollment_coc__2020")
  @Table(name = "enrollment_coc", catalog = "hmis", schema = "v2020")
  public class EnrollmentCoc extends HmisBaseModel  implements Cloneable, Serializable,EnrollmentSharingModel{
  
  	/** Serial Version UID. */
  	private static final long serialVersionUID = -1839464248978194057L;
  
  	/** Use a WeakHashMap so entries will be garbage collected once all entities
  		referring to a saved hash are garbage collected themselves. */
  	private static final Map<Serializable, java.util.UUID> SAVED_HASHES =
  		Collections.synchronizedMap(new WeakHashMap<Serializable, java.util.UUID>());
  
  	/** hashCode temporary storage. */
  	private volatile java.util.UUID hashCode;
  
  
  	/** Field mapping. */
  	private String cocCode;
  	private String householdId;
  	/** Field mapping. */
  	private Enrollment enrollmentid;
  	/** Field mapping. */
  	private java.util.UUID id;
  	private LocalDateTime informationDate;
  	private DataCollectionStageEnum dataCollectionStage;
  	private LocalDateTime submissionDate;
  	
  	@Type(type = "com.servinglynk.hmis.warehouse.enums.DataCollectionStageEnumType")
  	@Basic( optional = true )
  	@Column
  	 public DataCollectionStageEnum getDataCollectionStage() {
  		return dataCollectionStage;
  	}
  
  	public void setDataCollectionStage(DataCollectionStageEnum dataCollectionStage) {
  		this.dataCollectionStage = dataCollectionStage;
  	}
  	/** Field mapping. */
  	/**
  	 * Default constructor, mainly for hibernate use.
  	 */
  	public EnrollmentCoc() {
  		// Default constructor
  	}
  
  	/** Constructor taking a given ID.
  	 * @param id to set
  	 */
  	public EnrollmentCoc(java.util.UUID id) {
  		this.id = id;
  	}
  	/** Return the type of this class. Useful for when dealing with proxies.
  	* @return Defining class.
  	*/
  	@Transient
  	public Class<?> getClassType() {
  		return EnrollmentCoc.class;
  	}
  
  
  
  	@Basic( optional = true )
  	@Column( name = "coc_code", length = 20  )
  	 public String getCocCode() {
  		return cocCode;
  	}
  
  	public void setCocCode(String cocCode) {
  		this.cocCode = cocCode;
  	}
  
  	/**
  	 * @return the householdId
  	 */
  	@Basic( optional = true )
  	@Column( name = "householdid" )
  	public String getHouseholdId() {
  		return householdId;
  	}
  
  	/**
  	 * @param householdId the householdId to set
  	 */
  	public void setHouseholdId(String householdId) {
  		this.householdId = householdId;
  	}
  
  	/**
  	 * Return the value associated with the column: enrollmentid.
  	 * @return A Enrollment object (this.enrollmentid)
  	 */
  	@ManyToOne( cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.LAZY )
  	@org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE})
  	@Basic( optional = true )
  	@JoinColumn(name = "enrollmentid", nullable = true )
  	public Enrollment getEnrollmentid() {
  		return this.enrollmentid;
  
  	}
  
  
  	@Type(type="org.jadira.usertype.dateandtime.threeten.PersistentLocalDateTime")
  	@Basic( optional = true )
  	@Column( name = "information_date"  )
  	 public LocalDateTime getInformationDate() {
  		return informationDate;
  	}
  
  	public void setInformationDate(LocalDateTime informationDate) {
  		this.informationDate = informationDate;
  	}
  
  	/**
  	 * Set the value related to the column: enrollmentid.
  	 * @param enrollmentid the enrollmentid value you wish to set
  	 */
  	public void setEnrollmentid(final Enrollment enrollmentid) {
  		this.enrollmentid = enrollmentid;
  	}
  
  	 /**
  	 * Return the value associated with the column: id.
  	 * @return A java.util.UUID object (this.id)
  	 */
      @Id
  	@Basic( optional = false )
  	@Column( name = "id", nullable = false  ) @org.hibernate.annotations.Type(type="org.hibernate.type.PostgresUUIDType")
  	public java.util.UUID getId() {
  		return this.id;
  
  	}
  
  	 /**
  	 * Set the value related to the column: id.
  	 * @param id the id value you wish to set
  	 */
  	public void setId(final java.util.UUID id) {
  		// If we've just been persisted and hashCode has been
  		// returned then make sure other entities with this
  		// ID return the already returned hash code
  		if ( (this.id == null ) &&
  				(id != null) &&
  				(this.hashCode != null) ) {
  		SAVED_HASHES.put( id, this.hashCode );
  		}
  		this.id = id;
  	}
  
  
  	/** Field mapping. */
  	protected Export export;
  	 /**
  	 * Return the value associated with the column: export.
  	 * @return A Export object (this.export)
  	 */
  	@ManyToOne( cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.LAZY )
  	@org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE})
  	@Basic( optional = true )
  	@JoinColumn(name = "export_id", nullable = true )
  	public Export getExport() {
  		return this.export;
  
  	}
  
  
  
  	 /**
  	 * Set the value related to the column: export.
  	 * @param export the export value you wish to set
  	 */
  	public void setExport(final Export export) {
  		this.export = export;
  	}
  
  	@Type(type="org.jadira.usertype.dateandtime.threeten.PersistentLocalDateTime")
  	@Basic( optional = true )
  	@Column( name = "submission_date"  )	
      public LocalDateTime getSubmissionDate() {
  		return submissionDate;
  	}
  
  	public void setSubmissionDate(LocalDateTime submissionDate) {
  		this.submissionDate = submissionDate;
  	}
  	
     /**
      * Deep copy.
  	* @return cloned object
  	* @throws CloneNotSupportedException on error
      */
      @Override
      public EnrollmentCoc clone() throws CloneNotSupportedException {
  
          final EnrollmentCoc copy = (EnrollmentCoc)super.clone();
  
  		copy.setCocCode(this.getCocCode());
  		copy.setDateCreated(this.getDateCreated());
  		copy.setDateUpdated(this.getDateUpdated());
  		copy.setEnrollmentid(this.getEnrollmentid());
  		copy.setId(this.getId());
  		copy.setUserId(this.getUserId());
  		return copy;
  	}
  
  
  	/** Provides toString implementation.
  	 * @see java.lang.Object#toString()
  	 * @return String representation of this class.
  	 */
  	@Override
  	public String toString() {
  		StringBuffer sb = new StringBuffer();
  
  		sb.append("clientCoc: " + this.getCocCode() + ", ");
  		sb.append("dateCreated: " + this.getDateCreated() + ", ");
  		sb.append("dateUpdated: " + this.getDateUpdated() + ", ");
  		sb.append("id: " + this.getId() + ", ");
  		return sb.toString();
  	}
  
  
  	/** Equals implementation.
  	 * @see java.lang.Object#equals(java.lang.Object)
  	 * @param aThat Object to compare with
  	 * @return true/false
  	 */
  	@Override
  	public boolean equals(final Object aThat) {
  		Object proxyThat = aThat;
  
  		if ( this == aThat ) {
  			 return true;
  		}
  
  
  		if (aThat instanceof HibernateProxy) {
   			// narrow down the proxy to the class we are dealing with.
   			try {
  				proxyThat = ((HibernateProxy) aThat).getHibernateLazyInitializer().getImplementation();
  			} catch (org.hibernate.ObjectNotFoundException e) {
  				return false;
  		   	}
  		}
  