Если вы не можете изменить схему базы данных, вам необходимо вручную сгенерировать уникальный идентификатор и назначить его для новых сущностей.
Вы можете сделать это, просто удалив @GeneratedValue
:
@Entity
@Table(name = "chat_session")
public class ChatSession {
@Id
@Column(name = "session_id")
private String sessionId;
}
Проконсультируйтесь с бизнес-требованиями, чтобы узнать, есть ли какие-либо правила относительно формата идентификатора. Если да, реализуйте его и вручную сгенерируйте новый идентификатор и самостоятельно установите его для нового объекта. Если у вас нет такого бизнес-правила, вы можете просто использовать генератор UUID из Java, чтобы убедиться, что сгенерированный идентификатор уникален:
UUID.randomUUID().toString()