2
与dropwizard工作和休眠 例外,当我尝试做一个坚持是休眠要求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);
}
}