У меня есть отношение «много-к-одному» между двумя таблицами в моей базе данных. Таблица пользователей & Таблица стран. Классы модели являются:Hibernate save duplicate
@Entity (name = "user")
public class User {
@Id @GeneratedValue (strategy = GenerationType.IDENTITY)
private int userId;
private String username;
private String password;
@ManyToOne (cascade = {CascadeType.ALL})
@JoinColumn (name = "countryId")
private Country country;
//Getter & Setter
}
@Entity (name = "country")
public class Country {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private int countryId;
private String countryName;
//Getter & Setter
}
Проблема, которую я имею, когда я сохраняю новый объект пользователя также сохраняет новый рекорд страны, даже если эта страна уже существует в базе данных. Как я могу решить эту проблему?
Это создает новую проблему. Теперь он не сохраняет объект –
@MarioDennis. Можете ли вы полностью удалить каскад. –
Когда я удаляю его, я получаю: org.hibernate.HibernateException: данные не были сохранены: объект ссылается на несохраненный экземпляр переходного процесса - сохраните временный экземпляр перед промывкой: com.kyrogaming.models.Country –