import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import javax.persistence.Transient;
import org.mxchange.jcountry.data.Country;
import org.mxchange.jcountry.data.CountryData;
import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
/**
* A POJO for company headquarts data
* <p>
- * @author Roland Haeder
+ * @author Roland Häder<roland@mxchange.org>
*/
@Entity (name = "company_headquarters")
@Table (name = "company_headquarters")
-public class CompanyHeadQuartersData implements HeadQuartersData, Comparable<HeadQuartersData> {
+@SuppressWarnings ("PersistenceUnitPresent")
+public class CompanyHeadQuartersData implements HeadQuartersData {
/**
* Serial number
*/
+ @Transient
private static final long serialVersionUID = 385_752_948_781_761L;
/**
* Headquarter's country code
*/
@JoinColumn (name = "headquarters_country_id", nullable = false)
- @OneToOne (targetEntity = CountryData.class, cascade = CascadeType.MERGE, optional = false, fetch = FetchType.EAGER)
+ @OneToOne (targetEntity = CountryData.class, cascade = CascadeType.REFRESH, optional = false)
private Country headquartersCountry;
/**
*/
@Id
@GeneratedValue (strategy = GenerationType.IDENTITY)
- @Column (name = "headquarters_id", length = 20, nullable = false, updatable = false)
+ @Column (name = "headquarters_id", nullable = false, updatable = false)
private Long headquartersId;
/**
* User owner instance
*/
@JoinColumn (name = "headquarters_user_id", nullable = false, updatable = false)
- @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.MERGE, optional = false)
+ @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.REFRESH, optional = false)
private User headquartersUserOwner;
/**
@Column (name = "headquarters_zip_code", length = 6, nullable = false)
private Integer headquartersZipCode;
- @Override
- public int compareTo (final HeadQuartersData headQuartersData) {
- throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
- }
-
@Override
public boolean equals (final Object object) {
- if (object == null) {
+ if (null == object) {
return false;
} else if (this.getClass() != object.getClass()) {
return false;
final HeadQuartersData other = (HeadQuartersData) object;
- if (!Objects.equals(this.getHeadquartersCity(), other.getHeadquartersCity())) {
+ if (!Objects.equals(this.getHeadquartersId(), other.getHeadquartersId())) {
+ return false;
+ } else if (!Objects.equals(this.getHeadquartersCity(), other.getHeadquartersCity())) {
return false;
} else if (!Objects.equals(this.getHeadquartersCountry(), other.getHeadquartersCountry())) {
return false;
return true;
}
- @Override
- public int hashCode () {
- int hash = 7;
- hash = 47 * hash + Objects.hashCode(this.getHeadquartersCity());
- hash = 47 * hash + Objects.hashCode(this.getHeadquartersCountry());
- hash = 47 * hash + Objects.hashCode(this.getHeadquartersHouseNumber());
- hash = 47 * hash + Objects.hashCode(this.getHeadquartersStore());
- hash = 47 * hash + Objects.hashCode(this.getHeadquartersStreet());
- hash = 47 * hash + Objects.hashCode(this.getHeadquartersSuiteNumber());
- hash = 47 * hash + Objects.hashCode(this.getHeadquartersZipCode());
- return hash;
- }
-
@Override
public String getHeadquartersCity () {
return this.headquartersCity;
}
@Override
+ @SuppressWarnings ("ReturnOfDateField")
public Calendar getHeadquartersCreated () {
return this.headquartersCreated;
}
@Override
+ @SuppressWarnings ("AssignmentToDateFieldFromParameter")
public void setHeadquartersCreated (final Calendar headquartersCreated) {
this.headquartersCreated = headquartersCreated;
}
this.headquartersZipCode = headquartersZipCode;
}
+ @Override
+ public int hashCode () {
+ int hash = 7;
+
+ hash = 47 * hash + Objects.hashCode(this.getHeadquartersId());
+ hash = 47 * hash + Objects.hashCode(this.getHeadquartersCity());
+ hash = 47 * hash + Objects.hashCode(this.getHeadquartersCountry());
+ hash = 47 * hash + Objects.hashCode(this.getHeadquartersHouseNumber());
+ hash = 47 * hash + Objects.hashCode(this.getHeadquartersStore());
+ hash = 47 * hash + Objects.hashCode(this.getHeadquartersStreet());
+ hash = 47 * hash + Objects.hashCode(this.getHeadquartersSuiteNumber());
+ hash = 47 * hash + Objects.hashCode(this.getHeadquartersZipCode());
+
+ return hash;
+ }
+
}