【发布时间】:2021-03-13 11:54:09
【问题描述】:
我有这个仓库:
@Repository
public interface EnvaRepository extends JpaRepository<Enva, Long> {
}
这个查询:
envaRepository.findAllById(lopn.getEnvans());
但是在控制台我有这个错误:
SELECT t0.PERSONNE_ID, t0.DT_NAISSANCE, t1.PERSONNE_ID FROM PERSONNE t0, ENVA t1
WHERE ((t0.PERSONNE_ID IN ((777,777))) AND (t1.PERSONNE_ID = t0.PERSONNE_ID));
[42000][907] ORA-00907: parenthèse de droite absente
我的配置类:
@Configuration
public class JpaConfiguration extends JpaBaseConfiguration {
protected JpaConfiguration(DataSource dataSource, JpaProperties properties, ObjectProvider<JtaTransactionManager> jtaTransactionManager, ObjectProvider<TransactionManagerCustomizers> transactionManagerCustomizers) {
super(dataSource, properties, jtaTransactionManager, transactionManagerCustomizers);
}
@Override
protected AbstractJpaVendorAdapter createJpaVendorAdapter() {
log.debug("Using EclipseLinkJpaVendorAdapter");
return new EclipseLinkJpaVendorAdapter();
}
@Bean
@Primary
public static JpaProperties properties() {
final JpaProperties jpaProperties = new JpaProperties();
jpaProperties.setShowSql(true);
jpaProperties.setDatabasePlatform("org.eclipse.persistence.platform.database.OraclePlatform");
return jpaProperties;
}
@Override
protected Map<String, Object> getVendorProperties() {
HashMap<String, Object> map = new HashMap<>();
map.put(PersistenceUnitProperties.WEAVING, detectWeavingMode());
return map;
}
private String detectWeavingMode() {
return InstrumentationLoadTimeWeaver.isInstrumentationAvailable() ? "true" : "static";
}
}
【问题讨论】:
-
spring 是如何构建 JPQL 查询的?它需要使用“ .. in :variable ”而不是将集合变量包装在括号中才能工作。
-
你能分享你的 Enva 实体吗?您是否调用了除此之外的任何其他查询?
标签: sql oracle spring-boot spring-data-jpa eclipselink