Предположим, у меня есть класс 'Cheese' с полями type и purchaseDate, например:
public class Cheese{
CheeseType cheeseType;
String purchaseDate;
public setPurchaseDate(String value){
purchaseDate=value;
}
public Class CheeseType{
String type;
public setType(String value){
type=value;
}
public class MyClass{
Cheese cheese = new Cheese();
cheese.setType("cedar");
cheese.setPurchaseDate("01/02/03");
// Code to get entity manager etc
em.getTransaction().begin();
em.persist(cheese);
em.getTransaction().commit();
// Code to close entity manager etc
}
Пожалуйста, игнорируйте любые глупые ошибки в коде, я пытался упростить мою проблему!
Очевидно, что в реальной ситуации будет много других параметров, но в этом случае: одна и та же самая покупкаDate может существовать много раз в базе данных (столько раз, сколько я покупаю сыр!), Но «тип» уже существует вбаза данных (скажем, из предыдущих покупок).Теперь, каждый раз, когда я сохраняю экземпляр «Cheese» в базе данных, добавляется новый «CheeseType», то есть существует несколько «кедров».Как мне заставить каждый экземпляр 'Cheese' проверять, какие CheeseTypes уже существуют, а не создавать несколько новых кедров в базе данных?Я думаю, что мне нужно где-то слиться, но примеры, которые я видел, не похожи на те, которые я пытаюсь сделать.
Если у кого-то есть какие-либо советы, я был бы очень признателених!Приносим извинения, если я сделал здесь какие-либо ошибки новичка!