@Entity
@Table(uniqueConstraints = {
@UniqueConstraint(columnNames = {
"companyId", "externalId", "offset"
})
})
public class EmployeeEligibilityData {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@OneToOne(fetch = FetchType.EAGER)
@JoinColumns(
value = {
@JoinColumn(
name = "externalId",
referencedColumnName = "externalId",
insertable = false,
updatable = false
),
@JoinColumn(
name = "companyId",
referencedColumnName = "companyId",
insertable = false,
updatable = false
)
},
foreignKey = @ForeignKey(name = "none", value = ConstraintMode.NO_CONSTRAINT)
)
private Employee employee;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "companyId")
private Company company;
@Column(nullable = false)
private String externalId;
}