Java 如何显示从@Column(unique=true)获取的错误消息?
我在我的项目中使用JPA技术 以下是实体:Java 如何显示从@Column(unique=true)获取的错误消息?,java,jpa,Java,Jpa,我在我的项目中使用JPA技术 以下是实体: @Entity public class Cars implements Serializable { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="idCars") private long idCars; @Column(name="nomCars",unique=true) private String nomCar
@Entity
public class Cars implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="idCars")
private long idCars;
@Column(name="nomCars",unique=true)
private String nomCars;
}
这是控制器:
@RestController
@RequestMapping(value="/Cars")
public class CarsRestController {
@RequestMapping(value="/AddCars")
public Cars AddCars(Cars cr){
return repository.save(cr);
}
}
我使用unique=true
属性检查新的Cars
对象是否存在于数据库中。如果对象存在,我希望检索此错误消息以在web用户之后显示它
谢谢,您可以处理异常,但我宁愿编写一个自定义JSR-303验证器,在控制器中执行代码之前为我执行此检查。我不知道JSR-303,您能解释一下如何进行JPA注释吗@Slava Semushin您从JPA获得的错误将取决于提供程序和数据库。您必须自己试验并分析错误,但这是IMO中最有效的选项。如果您想采用这种方法(),JSR-303验证规范中有一些示例,并且有一些示例和演示,但我不知道它是否能很好地用于此,因为您无论如何都必须先查询数据库,它可以在验证查询运行后添加。或者,您可以在尝试插入之前或出现错误之后查询名称,以查看其是否存在。我将尝试,谢谢@ChrisWhich注释我用于确保对象验证<代码>公共汽车添加汽车(汽车cr){…}@Chris