Я использую hibernate в качестве провайдера переносимости JPA и не смог найти способ обработать исключения данных в документации.Обработка исключений данных с сохранением JPA 2
У меня есть две сущности:
@Entity
public class Item {
@Id
@GeneratedValue
Long id;
@ManyToOne
@JoinColumn(name="node_id")
Node node;
.. snip ..
}
@Entity
public class Node {
@Id
@GeneratedValue
Long id;
@OneToMany
@JoinColumn(name="node_id")
List<Item> items;
.. snip ..
}
В моей базе данных, однако, у меня есть исключение данных, где есть элемент строки, с node_id = X
, но ни один узел с id
X
.
Я не могу очистить эти данные для раздражающих, несвязанных причин.
Есть ли способ, которым я могу настроить JPA, чтобы не взорваться, когда он попадает в эти данные?
Это показывает отсутствие согласованности в вашей базе данных. В этой колонке должно быть ограничение ограничения ключа, что гарантировало бы, что эта ситуация никогда не произойдет. Если очистка данных (что означает выполнение простого SQL-запроса), на самом деле не вариант, то используйте ответ Алекса. Но вы должны очистить его и добавить ограничение FK. –
К сожалению, есть веские причины, по которым в этом случае я не могу очистить эти данные. Как я уже сказал, это раздражает. – idbentley