有没有办法在Redis和关系数据库中使用@RedisHash实体?

问题描述 投票:1回答:1

我正在使用Spring启动。为了在关系数据库中保存我的实体,我配置了一个数据源和我的域类,例如:

@Entity
@Table(schema = "schema_name", name = "tb_name")
public class table_name extends DomainEntity<Long> {

    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "ID_TABLE_NAME", nullable = false, updatable = false, precision = 12)
    @SequenceGenerator(name = "sqTableName", sequenceName = "SQ_TABLE_NAME", initialValue = 1, allocationSize = 1)
    @GeneratedValue(generator = "sqTableName", strategy = GenerationType.SEQUENCE)
    private Long id;

    @NotNull  
    @ManyToOne
    @JoinColumn(name   = "ID_OTHER_COLUMN", referencedColumnName = "ID_OTHER_COLUMN", nullable = false)
    private OtherObject obj;

使用本教程:https://www.baeldung.com/spring-data-redis-tutorial,我配置了我的域类Student:

@RedisHash("Student")
public class Student implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    public enum Gender {
        MALE, FEMALE
    }

    private String id;
    private String name;
    private Gender gender;
    private int grade;
}

当一个类使用@RedisHash注释时,当我使用.save方法时,它会将此实体保存在Redis上。

我想在关系数据库中使用此域类而不复制要保存的文件,有时在Redis上,有时在关系数据库中。我搜查了一下,但没有找到任何东西。

有人可以帮忙吗?

java spring-boot redis spring-data-redis
1个回答
0
投票

您可以在没有注释@RedisHash的情况下定义域类,并为每个数据库创建域类的空子类。

redis的域类将具有@RedisHash注释

© www.soinside.com 2019 - 2024. All rights reserved.