Spring-data-jpa实现DDL(创建表、删除表)
Spring-data-jpa:
遇到的问题:
@Query
自定义sql执行,则拼接表名称无法识别(自动拼接上
单引号
‘your_table_name’,导致sql报错,因为表名需要的是符号
your_table_name
)。
关于@Modifying、 @Transactional注解
By default, CRUD methods on repository instances are transactional. For read operations, the transaction configuration readOnly flag is set to true. All others are configured with a plain @Transactional so that default transaction configuration applies. For details, see JavaDoc of SimpleJpaRepository.
说人话就是:默认情况下,存储库实例上的CRUD方法是事务性的。对于读取操作,事务配置readOnly标志设置为true。所有其他的都配置了一个普通的@Transactional,以便应用默认的事务配置。有关详细信息,请参见SimpleJpaRepository的JavaDoc。
运行时异常
会回滚事务)代表了只要遇到
任何异常
都会进行回滚。