Обработка исключений данных с сохранением JPA 2
Я использую hibernate в качестве провайдера переносимости JPA и не смог найти способ обработать исключения данных в документации.
У меня есть два объекта:
@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, чтобы не взорваться, когда он попадает в эти данные?
Вы можете использовать аннотацию @NotFound (IGNORE) для своего свойства. Джавадок здесь
Ну, вы не можете подавить исключение JPA. Однако вы можете создать прослушиватель объектов, который прослушивает сохранение/обновление сущностей, а также кэширует и обрабатывает любые исключения, которые могут возникнуть у них:
http://docs.oracle.com/cd/B31017_01/web.1013/b28221/cmp30cfg015.htm