2015-12-02 2 views
2

Работы с dropwizard и зимует исключения, когда я пытаюсь сделать это упорствоватьHibernate просит javax.validation.constraints.Size для перечисления

Нет валидатор не может быть найден для ограничений «javax.validation.constraints .Size ' ' enums.ServiceType '. Проверьте конфигурацию 'типа'

код ниже:

@Table(name = "transactions", 
     indexes = { 
       @Index(name = "references_index", columnList = "reference_id") 
     } 
) 

public class Transaction { 

    @JsonIgnore 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    @Column(name = "id") 
    private long id; 

    @NonNull 
    @NotEmpty 
    @Column(name = "reference_id", unique = true) 
    private String referenceId; 

    @NonNull 
    @NotEmpty 
    @Column(name = "state") 
    private String state; 

    @NonNull 
    @Column(name = "type") 
    @Enumerated(EnumType.STRING) 
    private ServiceType type; 

    @NonNull 
    @NotEmpty 
    @Column(name = "provider") 
    private String provider; 

    @Temporal(TemporalType.TIMESTAMP) 
    @Column(name = "created_date", insertable = false, updatable = false) 
    private Date createdTimeStamp; 

    @Temporal(TemporalType.TIMESTAMP) 
    @Column(name = "last_updated", insertable = false, updatable = true) 
    private Date updatedTimeStamp; 

    public Transaction(String referenceId, String state, ServiceType type, String provider) { 
     this.referenceId = referenceId; 
     this.state = state; 
     this.type = type; 
     this.provider = provider; 
    } 

} 

где

public enum ServiceType { 
    TYPEA, TYPEB, TYPEC 
} 

делает упорствовать в DAO

class TransactionDAO extends AbstractDAO<Transaction> { 
    /** 
    * Creates a new DAO with a given session provider. 
    * 
    * @param sessionFactory a session provider 
    */ 
    public TransactionDAO(SessionFactory sessionFactory) { 
     super(sessionFactory); 
    } 

     protected Transaction persistTransaction(Transaction transaction) { 
     return persist(transaction); 
    } 
} 

ответ

2

Добавление @Valid против моего перечисления решает это. Однако я не знаю, почему сообщение об ошибке говорит, что пытается javax.validation.constraints.Size

фрагмента кода из рабочего кода

@NonNull 
@Valid 
@Column(name = "type") 
@Enumerated(EnumType.STRING) 
private ServiceType type; 
Смежные вопросы