У меня есть сущность с двумя классами Embedded
того же типа, и у кого есть ElementCollection
того же типа два. Бизнес-логика, по-видимому, правильная, но я испытываю некоторые проблемы с недостатком знаний в JPA, я думаю.jpa - Несколько элементов @ElementCollection в двух разных классах @Embeddable
Давайте проверим мои классы:
@Entity
public class Etapa extends EntidadeBase {
@Embedded
private CronogramaDeDesembolso cronogramaDeReceita;
@Embedded
private CronogramaDeDesembolso cronogramaDeDespesa;
}
@Embeddable
public class CronogramaDeDesembolso {
@ElementCollection
private List<Parcela> parcelas;
}
Я получаю следующее журнал ошибок.
вызвано следующими причинами: org.hibernate.HibernateException: Найдено общие ссылки к коллекции: nexxus.convenioestadual.dominio.planodetrabalho.etapa.Etapa.cronogramaDeReceita.parcelas
ли вы, ребята, есть какие-либо подскажите, что не так, и как я могу это исправить?
EDIT:
Due комментарии я сделал это изменение, и он не работал слишком
@Entity
public class Etapa extends EntidadeBase {
@Embedded
@AttributeOverride(name = "parcelas", column = @Column(name = "parcelasReceita"))
private CronogramaDeDesembolso cronogramaDeReceita;
@Embedded
@AttributeOverride(name = "parcelas", column = @Column(name = "parcelasDespesa"))
private CronogramaDeDesembolso cronogramaDeDespesa;
}
я уже пробовал тот же пост и сделал '@AttributeOverride (имя =«Parcelas», столбец = @column (имя =«parcelasDespesa»))' но не изменить имя атрибута _parcelas_ и ошибки persists – higornucci
Вы использовали эту строку кода для каждого из встроенных объектов? Я считаю, что им действительно нужно ссылаться на разные физические столбцы в базе данных. Так что вам нужно будет выглядеть примерно так (при условии, что я это правильно понимаю): '@ Embedded' ' @AttributeOverride (name = "parcelas", column = @Column (name = "parcelasDeReceita")) ' 'частное CronogramaDeDesembolso cronogramaDeReceita;' ' @ Embedded' ' @AttributeOverride (имя = "Parcelas", столбец = @Column (имя = "parcelasDespesa")) '' частной CronogramaDeDesembolso cronogramaDeDespesa; ' –
Я сделал изменения, предложенные и он все еще не работает = [ – higornucci