Я пытался обновить таблицу в DB2, но столкнулся с исключением NumberFormat. Это странно, поскольку в DB2 статус имеет тип varchar(10), а в коде Product.java статус объявлен как String.
ProductRepo.java
@Modifying
@Query("UPDATE Entity e SET e.status = :status")
void updateStatus(@Param("status") String status);
Product.java
@Entity
@Table(name="Product" schema="test")
public class Product{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@Column(name = "STATUS")
private String status;
public void setStatus(String status){
this.status = status;
}
public String getStatus(){
return status;
}
ошибка ниже:
org.hibernate.orm.jdbc.error : Data type mismatch. (class java.lang.NumberFormatException) JDBC exception executing SQL [Data type mismatch. (class java.lang.NumberFormatException)] [UPDATE schema.table e
SET e.STATUS = ?
]; SQL [schema.table e
SET e.STATUS = ?
]
вывод при запуске CDCService.java
2026-03-24T13:48:01.354-06:00 TRACE 5364 --- [cdcservice] [ scheduling-1] org.hibernate.orm.jdbc.bind : binding parameter (6:VARCHAR)