需要在远程设备(由 sqlite 支持)以及在云(由 postgres 支持)上运行相同版本的应用程序。帐户实体如下所示:
@Entity
@Table(name="account")
public class Account extends BaseEntity{
@Id
@Column(name="id")
private String id;
@Column(name="valid_from")
private LocalDateTime validFrom;
@Column(name="expires_on")
private LocalDateTime expiresOn;
@Column(name="events")
@Convert(converter = EventListConverter.class)
@NotNull
@NotEmpty
private List<Event> events;
正在将EventListConverter
转换events
为 JSON 字符串并返回到List<Event>
SQLite。但是,该events
列是jsonb
Postgres 上的类型 - 我们如何使它对两者都有效?
约束:不能更改 POSTGRES 模式(SQLite 中的事件可以更改为二进制)