2012-05-15 2 views
1

Как говорит название, какие исключения вышвырнут при этих условиях ниже на моем сохранялось класса Java:Какие исключения выбрасываются для этих аннотаций в java?

@Column(name = "USERNAME", nullable=false, unique=true) 
private String username; 


@Column(name = "PASSWORD") 
@NotNull 
@Size(min = 5, max = 25) 
private String password; 

чем разница между использованием @NotNull и @Column(nullable=false)?

Я не мог найти ни одного api docs, объясняющего это вместе с типом исключения, которое может возникнуть, если username является нулевым, а не уникальным. И что бросается, если password имеет значение null, меньше символов и более 25 символов.

ответ

4

javax.persistence.Column Используется для указания деталей столбца базы данных. Атрибут nullable обычно используется только при создании определений таблиц и не используется во время выполнения для проверки.

javax.validation.constraints.NotNull используется во время выполнения, чтобы проверить данные перед их сохранением, считая, что поставщик проверки включен и настроен. Нарушения вызовут подкласс ValidationException.

тип исключением того, что может произойти, если username является недействительным и не уникальный

Исключение не будет выброшено само приложение, но если определения таблицы БД были получены из этих аннотаций, то некоторые Исключено исключение JPA.

И что бросается, если password имеет значение null, меньше символов и более 25 символов.

A ValidationException той или иной формы.

+0

Хорошо спасибо. заключается в том, что хороший способ проверки данных, которые были переданы в мой постоянный класс java, или есть лучший способ? – jonney

+0

трещина ответ спасибо – jonney

Смежные вопросы