Есть ли способ использовать сущность с @RedisHash в Redis и в реляционной базе данных? - PullRequest
0 голосов
/ 15 октября 2018

Я использую Spring boot.Чтобы сохранить свои сущности в реляционной базе данных, я настроил источник данных и классы своего домена, например:

@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, а иногда в реляционной базе данных.Я искал, но ничего не нашел.

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 04 марта 2019

Вы можете определить класс домена без аннотации @RedisHash и создать пустой подкласс класса домена для каждой базы данных.

Класс домена для Redis будет иметь аннотацию @RedisHash

...