在使用GenerationType.IDENTITY与GenerationType.SEQUENCE时,数据将在以下情况下持久存储到数据库:
- GenerationType.IDENTITY:当使用GenerationType.IDENTITY作为主键生成策略时,数据将在执行插入操作后立即持久存储到数据库。这是因为IDENTITY策略依赖于数据库的自增功能,每次插入数据时,数据库会自动为该字段生成一个唯一的自增值,并将数据持久化到数据库中。
- GenerationType.SEQUENCE:当使用GenerationType.SEQUENCE作为主键生成策略时,数据将在事务提交之前持久存储到数据库。SEQUENCE策略通过维护一个独立的序列来生成唯一的主键值。在插入数据时,会先从序列中获取下一个值,然后将该值作为主键值插入到数据库中。但是,由于SEQUENCE策略是在事务提交之前生成主键值的,因此数据只有在事务提交时才会真正持久化到数据库中。