Spring data jpa java.lang.IllegalacessException-无法使用修饰符访问org.springframework.data.jpa.util.HibernateProxyDetector类的成员&引用;
基本Spring数据JPA应用程序(不是Spring引导应用程序)。是否有人知道导致此问题的原因: 错误: 存储库:Spring data jpa java.lang.IllegalacessException-无法使用修饰符访问org.springframework.data.jpa.util.HibernateProxyDetector类的成员&引用;,spring-data-jpa,Spring Data Jpa,基本Spring数据JPA应用程序(不是Spring引导应用程序)。是否有人知道导致此问题的原因: 错误: 存储库: @Repository public interface BlockedEmailRepository extends CrudRepository<BlockedEmail, Long> { List<BlockedEmail> findByUsernameAndEmailId(String username, String emailId);
@Repository
public interface BlockedEmailRepository extends
CrudRepository<BlockedEmail, Long> {
List<BlockedEmail> findByUsernameAndEmailId(String username, String
emailId);
}
我遇到这个问题是因为以下冲突:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
@Bean
LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean lfb = new
LocalContainerEntityManagerFactoryBean();
lfb.setDataSource(dataSource());
lfb.setPersistenceProviderClass
(org.hibernate.jpa.HibernatePersistenceProvider.class);
lfb.setPackagesToScan("com.######.######.model");
lfb.setJpaProperties(hibernateProps());
return lfb;
}
Properties hibernateProps() {
Properties properties = new Properties();
properties.setProperty("hibernate.dialect",
"org.hibernate.dialect.MySQL5InnoDBDialect");
properties.setProperty("hibernate.show_sql","true");
return properties;
}
@Bean
JpaTransactionManager transactionManager() {
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(
entityManagerFactory().getObject());
return transactionManager;
}
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://mysql-james:3306/mailv2?
autoReconnect=true");
dataSource.setUsername("######");
dataSource.setPassword("########");
return dataSource;
}
@Repository
public interface BlockedEmailRepository extends
CrudRepository<BlockedEmail, Long> {
List<BlockedEmail> findByUsernameAndEmailId(String username, String
emailId);
}
@Data
@Entity
@Table(name="BLOCKED_EMAIL")
public class BlockedEmail {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private long id;
@NotNull
@Column(name = "EMAIL_ID")
private String emailId;
@NotNull
@Column(name = "USER_NAME")
private String username;
}