私はPerson
2つのサブクラスStudent
を持つクラスを持っていますEmployee
@Entity(name="person")
@Inheritance(strategy = InheritanceType.JOINED)
public class Person implements Serializable {
@Id
@GeneratedValue
private Integer id;
}
@Entity(name="student")
@PrimaryKeyJoinColumn(name="id")
public class Student extends Pessoa implements Serializable {
}
@Entity(name="employee")
@PrimaryKeyJoinColumn(name="id")
public class Employee extends Person implements Serializable {
}
学生は従業員になることもできますが、学生を従業員と同じ ID で保存しようとすると、休止状態で主キーの重複例外がスローされます
org.hibernate.exception.ConstraintViolationException: Duplicate entry '142.855.267-71' for key 'PRIMARY'
hibernate はデータベースに新しい人を挿入しようとしていますが、私はそれを望んでいません。
人がデータベースに既に存在することを休止状態に認識させ、その人への参照を保存する方法はありますか?
ところで:学生と従業員を手動で挿入すると、すべてが魅力的に機能します。