jjzjj

ConstraintViolationException

全部标签

java - ConstraintViolationException : NOT NULL when using Spring, HSQL 和 Hibernate

当我试图在数据库中插入一个Individual类型的对象时,我得到了一个NOTNULL违反约束的异常。我使用hsql版本2.3.2。我让hibernate为我生成数据库表。在正常代码中(我使用SQLServer数据库)一切正常。这是我的IndividualObject,ID是数据库生成的,是表的主键。单个对象:@XmlRootElement@Entity@Table(name="INDIVIDUALS")publicclassIndividual{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="INDI

java - 由于重复的 GUID,无法将数据库状态与 session org.hibernate.exception.ConstraintViolationException 同步

我使用hibernate在使用自动生成的GUID的表中插入数据,但有时插入失败并出现重复的GUID异常。例如:从Logs中,通过打印重复的GUID“0500edac-0074-4324-3436-31444231342d”,前2次尝试插入失败。所用时间如下1stattempt:08-27-201804:27:00.012,2ndattempt:08-27-201804:27:01.024,3rdattemptwasnotlogged,asitwassuccessful但在数据库中,我看到一行GUID为“0500edac-0074-4324-3436-31444231342d”,创建时间

java - SpringBoot 不处理 org.hibernate.exception.ConstraintViolationException

我已经在我的实体类中定义了一个验证电子邮件的模式。在我的验证异常处理程序类中,我添加了ConstraintViolationException的处理程序。我的应用程序使用SpringBoot1.4.5。配置文件.java@Entity@EntityListeners(AuditingEntityListener.class)@Table(name="profile")publicclassProfileextendsAuditableEntity{privatestaticfinallongserialVersionUID=8744243251433626827L;@Column(na

java - org.hibernate.exception.ConstraintViolationException : Could not execute JDBC batch update [Due to Unique Constraint]

错误:org.hibernate.exception.ConstraintViolationException:无法执行JDBC批量更新java.sql.BatchUpdateException:键“questionId_referenceId_referenceType”的重复条目“24-0-es_reservation_detail”我要保存预订对象。此预订对象包含reservaitonDetails对象的集合,每个预订详细信息对象包含questionAnswers对象的集合。主要问题是questionAnswer表的唯一约束UnqiueConstraint:question_id

java - 如何在 Bean Validation 1.0 中构造 ConstraintViolationException?

我对javax.validationAPI感到困惑。我正在编写一个简单的测试来理解它:Samplesample=newSample();Set>violations=validator.validate(sample);if(!violations.isEmpty()){//EclipserefusestoletmeusemyviolationsvariablethrownewConstraintViolationException(violations);}我应该如何声明违规集,以便我可以在我的异常构造函数中使用它? 最佳答案 你

spring - 抛出 javax.validation.ConstraintViolationException 时获取字段名称

当PathVariable'name'没有通过验证时,会抛出javax.validation.ConstraintViolationException。有没有办法在抛出的javax.validation.ConstraintViolationException中检索参数名称?@RestController@ValidatedpublicclassHelloController{@RequestMapping("/hi/{name}")publicStringsayHi(@Size(max=10,min=3,message="nameshouldhavebetween3and10char

spring - 抛出 javax.validation.ConstraintViolationException 时获取字段名称

当PathVariable'name'没有通过验证时,会抛出javax.validation.ConstraintViolationException。有没有办法在抛出的javax.validation.ConstraintViolationException中检索参数名称?@RestController@ValidatedpublicclassHelloController{@RequestMapping("/hi/{name}")publicStringsayHi(@Size(max=10,min=3,message="nameshouldhavebetween3and10char

java - org.hibernate.exception.ConstraintViolationException : Could not execute JDBC batch update

虽然数据已成功插入,但我得到了下面提到的堆栈跟踪。Hibernate:selectattendee_.attendeeId,attendee_.attendeeNameasattendee2_1_fromattendeeattendee_whereattendee_.attendeeId=?Hibernate:selectattendee_.attendeeId,attendee_.attendeeNameasattendee2_1_fromattendeeattendee_whereattendee_.attendeeId=?Hibernate:insertintoevent(eve

java - 无法捕获 ConstraintViolationException

尽管我在日志中看到它,但我似乎无法捕捉到它。实体@Column(unique=true)privateStringemail;我正试图像这样捕获它try{memberDao.create(newMember);}catch(ConstraintViolationExceptione){//}--它永远不会到达catchblock。当我使用捕获(异常e)我捕获到“javax.transaction.RollbackException:ARJUNA016053:无法提交事务。”错误日志如下:21:24:36,296ERROR[org.jboss.ejb3.invocation](http-

java - Hibernate 约束 ConstraintViolationException。有没有一种简单的方法可以忽略重复的条目?

基本上,我有以下架构,如果记录不存在,我将插入它们。但是,当涉及到插入重复项时,它会像我预期的那样抛出错误。我的问题是是否有一种简单的方法可以让Hibernate忽略实际上会插入重复项的插入?CREATETABLEIFNOTEXISTS`method`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`name`varchar(10)DEFAULTNULL,PRIMARYKEY(`id`),UNIQUEKEY`name`(`name`))ENGINE=MyISAMDEFAULTCHARSET=latin1AUTO_INCREMENT=2;SEVERE:Dupli
12