私は4つのエンティティ1対多のメッセージエンティティを持っています:
@Entity
@Table(name = "Messages")
public class Message {
...
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "messagesounds_id")
private Sound sound;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "messagevibrations_id")
private Vibration vibration;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "messagecolors_id")
private Color color;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "messageplatforms_id")
private Platform platform;
...
}
一方、他の 4 つのエンティティは次のようになります。
@Entity
@Table( name = "MessageSounds" , uniqueConstraints=@UniqueConstraint(columnNames = {"name"}))
public class Sound {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@OneToMany(cascade={CascadeType.ALL})
@JoinColumn(name="messagesounds_id")
private Set<Message> message;
...
}
4 つの参照テーブルの最初のレコードを参照する最初のメッセージ レコードを正常に作成できます。しかし、postgresql db のメッセージ テーブルは次のようになります。
id |...| messagesounds_id | messagevibrations_id | messagecolors_id | messageplatforms_id |
1 |...| 2 | 3 | 4 | 5 |
メッセージテーブルの最初のレコードが次のようになるように、4 つの参照テーブルのすべての主キーを自動インクリメントしたいと考えています。
id |...| messagesounds_id | messagevibrations_id | messagecolors_id | messageplatforms_id |
1 |...| 1 | 1 | 1 | 1 |
注釈を使用してこれを達成する方法は?