我正在编写一个Java应用程序,在其中使用Spring Boot和JPA以便将类映射到我的数据库表。
但是,由于数据库结构有些复杂,我还需要创建未映射到任何特定POJO /实体的自定义查询。
因此,我将PreparedStatement
与带有DataSource
注释的@Autowired
一起使用。
让我惊讶的是,同时使用这两种数据库访问方法可能不合适吗?
到目前为止,所有事情都在我的开发环境中解决了,但是当同时使用这两种方法时,我是否应该注意一些陷阱?或者在使用JPA时是否存在首选的自定义查询方法?
应该注意的是,我的数据库调用非常短并且以无状态方式发生,因此希望会话之间不会有任何问题(?)
答案 0 :(得分:2)
JPA EntityManager
对您使用PreparedStatement
所做的更改一无所知。这将导致JPA内置缓存(可能是版本控制以及事务支持)出现问题。
尽管您可能需要检查以下问题:Is it OK to use both JPA (for normal CRUDs) and JDBC (for batch update & call stored proc) in the same project
答案 1 :(得分:2)
Invan的答案很明确。
另一方面,在以下情况下您可以罚款:
a