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