Code: Select all
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Parent {
@Id
@SequenceGenerator(name = "primary_key_seq", sequenceName = "primary_key_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "primary_key_seq")
@Column(name = "id", updatable = false)
private long id;
@OneToMany(cascade = CascadeType.PERSIST)
@JoinColumn(
name = "created_by", referencedColumnName = "id",
foreignKey = @ForeignKey(name="fk_user_1", value = ConstraintMode.CONSTRAINT)
)
private List user1 = new ArrayList();
// getter & setters
}
< /code>
@Entity
@Table(name = "users")
public class UserEntity extends Parent {
private String email;
// getter & setters
}
< /code>
@Entity
@Table(name = "songs")
public class Song extends Parent {
@Column(name = "artist")
private String artist;
// getter & setters
}