package au.gov.ga.geodesy.domain.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonIgnore;

@Entity
@Table(name = "EQUIPMENT_CONFIGURATION")
@Inheritance(strategy = InheritanceType.JOINED)
public class EquipmentConfiguration {

    @Id
    @GeneratedValue(generator = "surrogateKeyGenerator")
    @SequenceGenerator(name = "surrogateKeyGenerator", sequenceName = "seq_surrogate_keys")
    private Integer id;

    @Column(name = "EQUIPMENT_ID", nullable = false)
    @JsonIgnore
    private Integer equipmentId;

    @Column(name = "CONFIGURATION_TIME")
    @JsonIgnore
    private Date configurationTime;

    @SuppressWarnings("unused") // used by hibernate
    private EquipmentConfiguration() {
    }

    public EquipmentConfiguration(Integer equipmentId, Date configurationTime) {
        this.equipmentId = equipmentId;
        this.configurationTime = configurationTime;
    }

    public Integer getId() {
        return id;
    }

    @SuppressWarnings("unused")
    private void setId(Integer id) {
        this.id = id;
    }

    public Integer getEquipmentId() {
        return equipmentId;
    }

    public void setEquipmentId(Integer equipmentId) {
        this.equipmentId = equipmentId;
    }

    public Date getConfigurationTime() {
        return configurationTime;
    }

    public void setConfigurationTime(Date configurationTime) {
        this.configurationTime = configurationTime;
    }
}

@@ -165,16 +165,57 @@
 dValue;%0A
+import javax.persistence.GenerationType;%0A
 import j
@@ -362,40 +362,8 @@
 tor;
-%0Aimport javax.persistence.Table;
 %0A%0Aim
@@ -425,49 +425,8 @@
 ity%0A
-@Table(name = %22EQUIPMENT_CONFIGURATION%22)%0A
 @Inh
@@ -465,22 +465,40 @@
 ype.
-JOINED)%0Apublic
+TABLE_PER_CLASS)%0Apublic abstract
  cla
@@ -589,16 +589,52 @@
 nerator%22
+, strategy = GenerationType.SEQUENCE
 )%0A    @S

Use table-per-class for EquipmentConfiguration.