Maksym Rybalkin
Maksym Rybalkin

Reputation: 533

How to solve indexOutOfBounds error in MyBatis selectForUpdate?

I use postgreSQL. Here is my request in a myBatisMapper:

<select id="findByStatusAndIdentityAndPrvCode" parameterType="java.lang.String" resultMap="Request">
        select
        from req_tab
        where status in ('I', 'D', 'Q')
          and identity = #{identity}
          and prv_code = #{prvCode}
        limit 1 for update
    </select>

Here is my error:

org.apache.ibatis.exceptions.PersistenceException: 
Error querying database.  Cause: java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
The error may exist in ru/infogate/dao/mapper/ReqMapper.xml
The error may involve ru.infogate.dao.mapper.ReqMapper.findByStatusAndIdentityAndPrvCode
The error occurred while handling results
SQL: select         from req_tab         where status in ('I', 'D', 'Q')           and identity = ?           and prv_code = ?         limit 1 for update
Cause: java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0

What is a reason and how to solve it?

Upvotes: 4

Views: 6350

Answers (3)

Minh Thiện L&#226;m
Minh Thiện L&#226;m

Reputation: 11

You can fix by add constructor with no argument, alongside constructor with arguments

    //Add Constructor with no arguments to fix this error
    public UserAdmin() {
    }
    //Along side the constructor with arguments
    public UserAdmin(String username, String password, String email, Date date_created, Date date_expired) {
        this.username = username;
        this.password = password;
        this.email = email;
        this.date_created = date_created;
        this.date_expired = date_expired;
    }

Upvotes: 1

Tranfer Will
Tranfer Will

Reputation: 178

I meet the same error when use mysql. But I solved it by adding NoArgsConstructor and AllArgsConstructor both. I use @Builder of lombok but missed constructor annotation. The error log shows too little message to find it.

Upvotes: 11

Maksym Rybalkin
Maksym Rybalkin

Reputation: 533

I solved the problem. Just need to add allArgs constructor to my entity

Upvotes: 0

Related Questions