У меня есть несколько классов, созданных на основе таблиц базы данных Oracle с несколькими составными ключами. В настоящее время при попытке запуска в IntelliJ я сталкиваюсь со следующим исключением, которое не могу устранить после нескольких попыток рефакторинга
Caused by: java.lang.IndexOutOfBoundsException: Index 2 out of bounds for length 2
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) ~[na:na]
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) ~[na:na]
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266) ~
Вот пример класса, использующего класс составного ключа.
@Getter
@Setter
@Entity
@Table(name = "TABLE_A", schema = "SCHEMA_A")
public class EntityA {
@EmbeddedId
private EntityAId id;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumns({
@JoinColumn(name = "FIELD_1", referencedColumnName = "FIELD_1", insertable = true, updatable = true),
@JoinColumn(name = "CREATE_DATE", referencedColumnName = "CREATE_DATE", insertable = true, updatable = true)
})
@OnDelete(action = OnDeleteAction.RESTRICT)
private EntityB entityB;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@OnDelete(action = OnDeleteAction.RESTRICT)
@JoinColumn(name = "FIELD_2", referencedColumnName = "FIELD_2", insertable = false, updatable = false)
private EntityC entityC;
@Column(name = "QUANTITY", precision = 28, scale = 10)
private BigDecimal quantity;
@ManyToOne(fetch = FetchType.LAZY)
@OnDelete(action = OnDeleteAction.RESTRICT)
@JoinColumn(name = "FIELD_3", referencedColumnName = "FIELD_3")
private EntityD entityD;
@Column(name = "LENGTH", precision = 28, scale = 10)
private BigDecimal length;
@Column(name = "WIDTH", precision = 28, scale = 10)
private BigDecimal width;
@Column(name = "HEIGHT", precision = 28, scale = 10)
private BigDecimal height;
@Column(name = "WEIGHT", precision = 28, scale = 10)
private BigDecimal weight;
@Size(max = 30)
@NotNull
@Column(name = "UPDATE_USER", nullable = false, length = 30)
private String updateUser;
@Column(name = "UPDATE_DATE")
private LocalDate updateDate;
}
Вот класс составного ключа, который используется в приведенном выше классе.
@Getter
@Setter
@Embeddable
public class EntityAId implements Serializable {
private static final long serialVersionUID = 1L;
@Size(max = 30)
@NotNull
@Column(name = "FIELD_1", nullable = false, length = 30)
private String field1;
@NotNull
@Column(name = "CREATE_DATE", nullable = false)
private LocalDate createDate;
@Size(max = 3)
@NotNull
@Column(name = "FIELD_2", nullable = false, length = 3)
private String field2;
// Default constructor
public EntityAId() {}
// Constructor with parameters
public EntityAId(String field1, LocalDate createDate, String field2) {
this.field1 = field1;
this.createDate = createDate;
this.field2 = field2;
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... pp-and-jpa
Как исправить неспецифическое исключение IndexOutOfBounds в приложении Spring и JPA? ⇐ JAVA
Программисты JAVA общаются здесь
1737074479
Anonymous
У меня есть несколько классов, созданных на основе таблиц базы данных Oracle с несколькими составными ключами. В настоящее время при попытке запуска в IntelliJ я сталкиваюсь со следующим исключением, которое не могу устранить после нескольких попыток рефакторинга
Caused by: java.lang.IndexOutOfBoundsException: Index 2 out of bounds for length 2
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) ~[na:na]
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) ~[na:na]
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266) ~
Вот пример класса, использующего класс составного ключа.
@Getter
@Setter
@Entity
@Table(name = "TABLE_A", schema = "SCHEMA_A")
public class EntityA {
@EmbeddedId
private EntityAId id;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumns({
@JoinColumn(name = "FIELD_1", referencedColumnName = "FIELD_1", insertable = true, updatable = true),
@JoinColumn(name = "CREATE_DATE", referencedColumnName = "CREATE_DATE", insertable = true, updatable = true)
})
@OnDelete(action = OnDeleteAction.RESTRICT)
private EntityB entityB;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@OnDelete(action = OnDeleteAction.RESTRICT)
@JoinColumn(name = "FIELD_2", referencedColumnName = "FIELD_2", insertable = false, updatable = false)
private EntityC entityC;
@Column(name = "QUANTITY", precision = 28, scale = 10)
private BigDecimal quantity;
@ManyToOne(fetch = FetchType.LAZY)
@OnDelete(action = OnDeleteAction.RESTRICT)
@JoinColumn(name = "FIELD_3", referencedColumnName = "FIELD_3")
private EntityD entityD;
@Column(name = "LENGTH", precision = 28, scale = 10)
private BigDecimal length;
@Column(name = "WIDTH", precision = 28, scale = 10)
private BigDecimal width;
@Column(name = "HEIGHT", precision = 28, scale = 10)
private BigDecimal height;
@Column(name = "WEIGHT", precision = 28, scale = 10)
private BigDecimal weight;
@Size(max = 30)
@NotNull
@Column(name = "UPDATE_USER", nullable = false, length = 30)
private String updateUser;
@Column(name = "UPDATE_DATE")
private LocalDate updateDate;
}
Вот класс составного ключа, который используется в приведенном выше классе.
@Getter
@Setter
@Embeddable
public class EntityAId implements Serializable {
private static final long serialVersionUID = 1L;
@Size(max = 30)
@NotNull
@Column(name = "FIELD_1", nullable = false, length = 30)
private String field1;
@NotNull
@Column(name = "CREATE_DATE", nullable = false)
private LocalDate createDate;
@Size(max = 3)
@NotNull
@Column(name = "FIELD_2", nullable = false, length = 3)
private String field2;
// Default constructor
public EntityAId() {}
// Constructor with parameters
public EntityAId(String field1, LocalDate createDate, String field2) {
this.field1 = field1;
this.createDate = createDate;
this.field2 = field2;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79363384/how-to-fix-non-specific-indexoutofbounds-exception-in-spring-app-and-jpa[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия