Bu benim varlıklardır "boş id oluşturulan" Üyelik:JPA Çoktan Birçok bileşik anahtar ile tablo varlık
public class Account extends AbstractEntity<Long> {
@Id
@SequenceGenerator(name = "accountSequence", sequenceName = "SQ_ACCOUNTS", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "accountSequence")
@Column(name = "ACC_ID", nullable = false)
private Long id;
...
}
public class Integration extends AbstractEntity<Long> {
@Id
@SequenceGenerator(name = "integrationSequence", sequenceName="SQ_INTEGRATIONS", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "integrationSequence")
@Column(name = "INT_ID", nullable = false)
private Long id;
...
public void addIntegration(Integration integration) {
IntegrationAccount association = new IntegrationAccount();
// This does not help
//association.setIntAccountsPK(new IntAccountsPK(integration.getId(), this.getId()));
association.setAccount(this);
association.setIntegration(integration);
this.integrationAccounts.add(association);
integration.getIntAccountsCollection().add(association);
}
}
Ve bu tablo
@Entity
@Table(name = "INT_ACCOUNTS")
public class IntegrationAccount {
@EmbeddedId
protected IntAccountsPK intAccountsPK;
@JoinColumn(name = "ACC_ID", referencedColumnName = "ACC_ID", insertable = false, updatable = false)
@ManyToOne
private Account account;
@JoinColumn(name = "INT_ID", referencedColumnName = "INT_ID", insertable = false, updatable = false)
@ManyToOne
private Integration integration;
...
}
@Embeddable
public class IntAccountsPK implements Serializable {
@Column(name = "INT_ID", nullable = false)
private Long intId;
@Column(name = "ACC_ID", nullable = false)
private Long accId;
...
}
katılmak için varlıktır Ve ne zaman : org.hibernate.id.IdentifierGenerationException:
account.addIntegrations(integrations.getTarget());
account.setCustomer(customer);
accountService.save(account);
Ben neden Olduğu benim günlüğünde bu var sıfır kimliği oluşturulan için: sınıf com.dhl.dcc.domain.IntegrationAccount
Bu tür eşleme hakkında pek bir bilgim yok, lütfen bu eşlemenin nasıl iyileştirileceğini (birleştirme tablosunun varlığı korunmalıdır) ve nasıl yapılacağını söyler misiniz? hesabı ilgili entegrasyonlarla kaydetme Teşekkürler.
Dediğiniz gibi bir çekicilik gibi, teşekkür ederim. Ayrıca "insertable = false, updatable false" öğesini kaldırmam gerekiyordu. – DominikM