Вот урезанная версия моего кода:
@Entity
public class Item implements Serializable{
@Id
@GeneratedValue
private long id;
@ElementCollection(fetch=FetchType.EAGER ,targetClass=Cost.class)
@CollectionTable(name="ItemCost", joinColumns = {@JoinColumn(name="itemId")})
private Set<Cost> costs= new HashSet<Cost>();
@ElementCollection(fetch=FetchType.EAGER ,targetClass=ItemLocation.class)
@CollectionTable(name="ItemLocation", joinColumns = {@JoinColumn(name="itemId")})
private Set<ItemLocation> itemLocations;
}
Разрешен ли вышеуказанный код? У меня есть два встраиваемых класса Cost и ItemLocation, которые я использую с @ElementCollection.
Issue:
Когда я пытаюсь запустить именованный запрос
@NamedQuery(name = "Item.findAll", query = "SELECT i FROM Item i")
У меня странное поведение. Записи во второй коллекции элементов (таблица ItemLccation) дублируются (вставляются в таблицу).