预先感谢
我们从UI中将shift类型变量作为字符串传递。 在DTO中,shift也是一个字符串变量。 但是在db中,我们试图将user_shift_type作为整数插入。
在mysql中按预期方式工作。在Postgres中无法从字符串转换为整数
引发以下错误:
DisplayStackTrace = org.postgresql.util.PSQLException:错误:“ usr_shift_type”列的类型为整数,但表达式的类型为字符变化
尝试了以下类型,不起作用
#{shift,jdbcType=INTEGER},
javaType=integer, jdbcType=INTEGER
@Insert("INSERT INTO scmn_user_dtls (usr_code,usr_title,usr_first_name,usr_last_name,usr_short_name,usr_employee_code,usr_password,usr_comments,"
+ "usr_phone_number,usr_mobile_number,usr_email,usr_shift_type,delete_flag,created_by,created_date,"
+ "usr_category,password_change_date,no_of_failed_attempt,password_updated_by)" +
"VALUES (#{usrCode},#{usrTitle},#{usrFirstName},#{usrLastName},#{usrShortName},#{usrEmployeeCode},"
+ "#{usrPassword},#{usrComments},#{usrPhoneNumber},#{usrMobileNumber},#{usrEmail},"
+ "#{shift,jdbcType=INTEGER},#{usrDeleteFlag},#{usrCreatedBy},#{usrCreatedDate},#{usrCategory},"+
"#{usrPasswordChangeDate},#{noOfFailedAttempts},#{passwordUpdatedBy})")
@Options(useGeneratedKeys = true, keyProperty="usrId", keyColumn="usr_id")
private String shift;
shift是dto字符串变量,但应作为整数使用,并应存储在user_shift_type(int)中。