X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Forg%2Fmxchange%2Fjcontactsbusiness%2FCompanyContact.java;h=99012d4b45373e5b9f4e165e5c3380b53c1d34c1;hb=9b87a7c465cbe4f26f6806b463c747a72408e6d8;hp=35f89668a80129854a5393c9707c15e82c4ed5b8;hpb=719f8d8e2c11236bb8ee7492e271a6e4a0b1c61c;p=jcontacts-business-core.git diff --git a/src/org/mxchange/jcontactsbusiness/CompanyContact.java b/src/org/mxchange/jcontactsbusiness/CompanyContact.java index 35f8966..99012d4 100644 --- a/src/org/mxchange/jcontactsbusiness/CompanyContact.java +++ b/src/org/mxchange/jcontactsbusiness/CompanyContact.java @@ -27,7 +27,6 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; -import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.persistence.Table; import javax.persistence.Temporal; @@ -46,16 +45,18 @@ import org.mxchange.jusercore.model.user.User; /** * A POJO for business contacts *

- * @author Roland Haeder + * @author Roland Haeder */ @Entity (name = "company_contacts") @Table (name = "company_contacts") -public class CompanyContact implements BusinessContact, Comparable { +@SuppressWarnings ("PersistenceUnitPresent") +public class CompanyContact implements BusinessContact { /** * Serial number */ - private static final long serialVersionUID = 478_378_178_748_691L; + @Transient + private static final long serialVersionUID = 470_375_172_748_691L; /** * Reference to basic data @@ -81,7 +82,7 @@ public class CompanyContact implements BusinessContact, Comparable employees; - - /** - * Reference to headquarters data + * Timestamp when this entry has been created */ - @JoinColumn (name = "company_headquarters_data_id", nullable = false, updatable = false) - @OneToOne (targetEntity = CompanyHeadQuartersData.class, cascade = CascadeType.ALL, optional = false) - private HeadQuartersData headQuartersData; + @Basic (optional = false) + @Temporal (TemporalType.TIMESTAMP) + @Column (name = "company_entry_created", nullable = false, updatable = false) + private Calendar contactCreated; /** * User owner instance */ @JoinColumn (name = "company_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 contactUserOwner; /** - * Timestamp when this entry has been created + * Reference to headquarters data */ - @Basic (optional = false) - @Temporal (TemporalType.TIMESTAMP) - @Column (name = "company_entry_created", nullable = false, updatable = false) - private Calendar contactCreated; + @JoinColumn (name = "company_headquarters_data_id", nullable = false, updatable = false) + @OneToOne (targetEntity = CompanyHeadQuartersData.class, cascade = CascadeType.ALL, optional = false) + private HeadQuartersData headQuartersData; + + @Override + public boolean equals (final Object object) { + if (null == object) { + return false; + } else if (this.getClass() != object.getClass()) { + return false; + } + + final BusinessContact other = (BusinessContact) object; + + return Objects.equals(this.getBasicBusinessData(), other.getBasicBusinessData()); + } @Override public BusinessBasicData getBasicBusinessData () { @@ -132,11 +139,13 @@ public class CompanyContact implements BusinessContact, Comparable getBrancheOffices () { return this.brancheOffices; } @Override + @SuppressWarnings ("AssignmentToCollectionOrArrayFieldFromParameter") public void setBrancheOffices (final List brancheOffices) { this.brancheOffices = brancheOffices; } @@ -172,11 +181,13 @@ public class CompanyContact implements BusinessContact, Comparable getEmployees () { - return this.employees; - } - - @Override - public void setEmployees (final List employees) { - this.employees = employees; - } - @Override public HeadQuartersData getHeadQuartersData () { return this.headQuartersData; @@ -211,24 +212,6 @@ public class CompanyContact implements BusinessContact, Comparable