Я работаю над определенной базой данных, которая содержит много составных ключей.Мне нужно вставить некоторые данные, которые содержатся в файлах в этой базе данных.Однако, когда я попытался вставить данные в таблицу, я получил следующую ошибку:
java.sql.SQLException: поле 'sprachNr' не имеет значения по умолчанию
Вот соответствующие модели:
@Entity
@Table(name="010_country_table")
public class CountryTable {
@Id
String lKZ;
int dLNr;
int sA;
int bezNr;//Description Number -30
String verkehr;
int warNr;
String wKZ;
int warBezNr;//Currency Description Number -30
String vorwahl;
int istGruppe;
String isoCode2;
String isoCode3;
int isoCodeNr;
int loschFlage;
@MapsId("bezNr")
@ManyToOne
@JoinColumns({
@JoinColumn(
name = "bezNr",
referencedColumnName = "bezNr"),
@JoinColumn(
name = "sprachNr",
referencedColumnName = "sprachNr")
})
private LanguageDescriptions languageDescriptions;
модель описания языка
@Entity
@Table(name="030_language_descriptions")
public class LanguageDescriptions {
@EmbeddedId
LanguageDescriptionsID id;
int dlNr;
int sA;
String bez;
int loschFlag;
@OneToMany(
fetch=FetchType.EAGER,
cascade=CascadeType.ALL,
mappedBy = "languageDescriptions")
private List<CountryTable> countryTable;
embeddedID
@Embeddable
public class LanguageDescriptionsID implements Serializable {
@Column(name="bezNr")
int bezNr;
@Column(name="sprachNr")
int sprachNr;
модель языка
@Entity
@Table(name="020_language")
public class Language {
@Id
int sprachNr;
int dLNr;
int sA;
int bezNr;
String isoCode;
int codePage;
int loschFlag;
@OneToMany(
fetch=FetchType.LAZY,
cascade=CascadeType.ALL,
mappedBy = "language")
private List<LanguageDescriptions> languageDescriptions;
Таким образом, проблема в том, что составной ключ LanguageDescription содержит первичный ключ таблицы Language, но CountryTable ссылается на этот составной ключ.Как я могу решить эту проблему?