我們被要求更換一些軟件。目前,必須替換的東西之一 是Hibernate。他們想用直JPA, 所以很容易從休眠切換,OpenJPA的,到...從休眠到直接JPA
一所使用的註解是:
@NotEmpty(message = "Field is not filled")
與進口:
import org.hibernate.validator.constraints.NotEmpty;
我的大學要使用:
@NotNull(message = "Field is not filled")
@Size(message = "Field is not filled", min = 1)
我不喜歡這樣。它當然不是乾的。 (它使用了數百個 次。)我更喜歡定義我們自己的NotEmpty。但我從來沒有用 註釋。這個怎麼做?
----添加當前的解決方案:
改名的功能,因爲在未來它可能會被延長。
import java.lang.annotation.Documented;
import static java.lang.annotation.ElementType.FIELD;
import java.lang.annotation.Retention;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.validation.ReportAsSingleViolation;
@Documented
@Constraint(validatedBy = { })
@Target({ FIELD })
@Retention(RUNTIME)
@ReportAsSingleViolation
@NotNull
@Size(min = 1)
public @interface CheckInput {
public abstract String message() default "Field is not filled";
public abstract String[] groups() default { };
}
明確「NOTNULL」和「大小」不是JPA註解。它們是「bean驗證」註釋,是一個不同的java規範,但它們至少標準化爲 –
請看[Java Java Custom Annotations Example **](http://www.mkyong.com/java/java-custom -annotations-example /)這可能對你有幫助。 –