java long 验证,找不到类型为:java.lang.Long的验证器.帖子ID

我的计划有什么问题?我收到错误

HTTP Status 500 - Request processing failed; nested exception is javax.validation.UnexpectedTypeException: HV000030: No validator could be found for type: java.lang.Long.

并且不知道如何解决它…在堆栈跟踪中,我编写的唯一类是

myapp.spring.controllers.PostFormController.processForm(PostFormController.java:66)

这条线是

validator.validate(p, result);

Post.java

// imports

@Entity

@Table(name="posts")

public class Post implements Serializable

{

/* **********************************

* ------------ fields ------------ *

************************************/

/**

*

*/

private static final long serialVersionUID = 1L;

@Id

@GeneratedValue(strategy=GenerationType.IDENTITY)

private long id;

@Past

@Column(name="date")

private Date date;

@NotBlank

@Size(min=3, max=20)

@Column(name="author")

private String author;

@NotBlank

@Column(name="content")

private String content;

@NotBlank

@Column(name="topic")

private String topic;

@NotBlank

@Column(name="thread_id")

private long thread_id;

@ManyToOne

@JoinColumn(name="name")

@Valid

private PostType type;

/* ***************************************

* ---------- getters setters ---------- *

*****************************************/

// cut //

}

blah blah blah无法添加因为帖子中的代码太多:S

解决方法:

问题可能是这一行:

@NotBlank

@Column(name="thread_id")

private long thread_id;

NotBlank对long类型的字段没有意义.长不能空白或不空白.只有一个字符串可以.因此错误消息:

javax.validation.UnexpectedTypeException: HV000030: No validator could be found for type: java.lang.Long

标签:java,spring,validation,hibernate,jsp

来源: https://codeday.me/bug/20190728/1559985.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值