ebean icon indicating copy to clipboard operation
ebean copied to clipboard

ebean-redis put empty value for natural keys

Open quocq6hcm opened this issue 1 year ago • 0 comments

Expected behavior

The value of natural key should be the bean id.

Actual behavior

The EncodeSerializable always returns new ByteArrayOutputStream().toByteArray(), results empty value in redis cache.

image

Steps to reproduce

  1. Setup ebean datasource
  2. Setup ebean-redis
  3. Setup entity natural keys
  4. Call API get list
 </dependencies>
...
        <dependency>
            <groupId>io.ebean</groupId>
            <artifactId>ebean</artifactId>
            <version>15.3.1</version>
        </dependency>
        <dependency>
            <groupId>io.ebean</groupId>
            <artifactId>ebean-spring-txn</artifactId>
            <version>15.3.1</version>
        </dependency>
        <dependency>
            <groupId>io.ebean</groupId>
            <artifactId>ebean-querybean</artifactId>
            <version>15.3.1</version>
        </dependency>
        <dependency>
            <groupId>io.ebean</groupId>
            <artifactId>querybean-generator</artifactId>
            <scope>provided</scope>
            <version>15.3.1</version>
        </dependency>
          <dependency>
            <groupId>io.ebean</groupId>
            <artifactId>ebean-redis</artifactId>
            <version>15.3.1</version>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>4.2.3</version>
        </dependency>
 </dependencies>
@Getter
@Setter
@Cache(naturalKey = {"hotelId", "roomId", "date"})
@Entity
@Table(name = "room_availability")
public class RoomAvailability extends AbstractAuditedEntity {
    private static final long serialVersionUID = 5782770949847017794L;
    @Id
    public UUID id;

    @Column(name = "room_id")
    private UUID roomId;

    @Column(name = "hotel_id")
    private UUID hotelId;

    @Column(name = "status")
    private String status;

    @Column(name = "date")
    private LocalDate date;
}

image

  

quocq6hcm avatar Jun 26 '24 11:06 quocq6hcm