我试图通过BaseRepository接口和BaseRepositoryImpl扩展**SimpleParepository**
BaseRepositoryImpl扩展了**SimpleParepository**并实现了BaseRepository。
此外,我还有一些其他的存储库,如CandidateRepository和员工存储库,它们扩展了基本存储库。
下面您可以看到以下错误代码:
要查看项目结构,请单击此处
@NoRepositoryBean
public interface BaseRepository<T, ID extends Serializable> extends JpaRepository<T, ID>{
//..
}
@Repository
public abstract class BaseRepositoryImpl<T, ID extends Serializable> extends
SimpleJpaRepository<T, ID> implements BaseRepository<T, ID>{
private final EntityManager em;
public BaseRepositoryImpl(JpaEntityInformation<T,ID> entityInformation,
EntityManager entityManager) {
super(entityInformation, entityManager);
this.em = entityManager;
}
//..
}
扩展存储库:
@NoRepositoryBean
public interface CandidateRepository extends BaseRepository<DatCandidate, UUID>{
//..
}
@Repository(value="CandidateRepositoryImpl")
public class CandidateRepositoryImpl extends BaseRepositoryImpl<DatCandidate, UUID> implements CandidateRepository{
public CandidateRepositoryImpl(
JpaEntityInformation<DatCandidate, UUID> entityInformation,
EntityManager entityManager) {
super(entityInformation, entityManager);
}
}
下面是我的配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
<context:annotation-config />
<context:component-scan base-package="com.projects"></context:component-scan>
<jpa:repositories base-package="com.projects.repositories.impl"
base-class="com.projects.repositories.impl.BaseRepositoryImpl"></jpa:repositories>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="punit" />
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="true" />
</bean>
</property>
<property name="jpaPropertyMap">
<map>
<entry key="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
<entry key="hibernate.hbm2ddl.auto" value="none"/>
<entry key="hibernate.format_sql" value="true" />
</map>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/relocationdb?autoReconnect=true" />
<property name="username" value="root"></property>
<property name="password" value="1234" />
</bean>
</beans>
服务:
@Service(value="CandidateServiceImpl")
public class CandidateServiceImpl extends BaseServiceImpl<CandidateForCreationDto, CandidateDto,DatCandidate, UUID>
implements CandidateService{
private CandidateRepositoryImpl candidateRepository;
@Autowired
public CandidateServiceImpl (
@Qualifier("CandidateRepositoryImpl") JpaRepository<DatCandidate, UUID> candidateRepository
) {
this.candidateRepository = (CandidateRepositoryImpl)candidateRepository;
}
}
错误:
通过构造函数参数0表示的未满足的依赖;嵌套异常org.springframework.beans.factory.NoSuchBean定义异常:没有可用的“org.springframework.data.jpa.repository.support.JpaEntityInformation”类型的合格bean:预计至少有1个bean符合自动联线候选资格。依赖注释:{}
我遵循了Spring JPA文档,但无法理解错误
附件是运行代码
21, 2018 4:39:16PMorg.apache.catalina.core.标准上下文启动内部严重:一个或多个侦听器无法启动。完整的详细信息将在相应的容器日志文件中找到21, 2018 4:39:16PMorg.apache.catalina.core.标准上下文启动内部SEVERE:上下文[/重定位]启动失败,由于以前的错误21, 2018 4:39:16PMorg.apache.catalina.core.应用上下文日志信息:关闭Spring根目录WebApplication Context21, 2018 4:39:16PMorg.apache.catalina.loader.WebappClassLoaderBase clearRe缴费Jdbc SEVERE:Web应用程序[/重定位]注册了JDBC驱动程序[com.mysql.jdbc.驱动程序],但在Web应用程序停止时未能取消注册。为了防止内存泄漏,JDBC驱动程序被强制取消注册。21, 2018 4:39:16PMorg.apache.catalina.loader.WebappClassLoaderBase clearRemiscesThreadsSEVERE:Web应用程序[/重定位]似乎已经启动了一个名为[废弃连接清理线程]的线程,但未能阻止它。这很可能会造成内存泄漏。21, 2018 4:39:16PMSorg.apache.coyote.AbstractProtocol start INFO:启动协议处理程序["超文本传输协议-bio-8080"] מרץ 21, 2018 4:39:16PMSorg.apache.coyote.AbstractProtocol start INFO:启动协议处理程序["ajp-bio-8009"] מרץ 21, 2018 4:39:16PMorg.apache.catalina.startup.Catalina启动信息:服务器启动在17422 ms
为了实用,您正在尝试扩展SimpleParepository
此外,正如@jens schauder所说,你的混合概念。
试着按照这个解释得很好的教程去做,看看它是否有用。
你在这里做了一些奇怪的事情。
一方面,通过在CandidateRepository
上使用@NoRepositoryBean并提供自己的实现,您可以有效地禁用所有Spring Data内容
我想是时候下定决心了:
>
如果是这样,扩展它,让构造函数保持原样,并将其用作您的repositoryBaseClass
。下面是一个如何做到这一点的教程。
只需为一个(或一些)存储库提供自定义实现。然后使用自定义实现。
我正在用Spring Boot实现Rest API。由于我的实体类来自另一个包的包,所以我必须使用注释来指定。此外,我使用指定定义JPA存储库的包。下面是我的项目的样子: 在我的controller类中,我有一个SeqService对象自动连线。 是一个接口,我通过它为创建了一个Bean类。在中,我自动连接了JPA存储库: 我不明白这个错误。跟排位bean有什么关系?
我应该如何修复这个错误? 证券配置 网络配置 错误 组织。springframework。豆。工厂UnsatifiedPendencyException:创建名为“securityConfig”的bean时出错:通过方法“setAuthenticationProvider”参数0表示的未满足的依赖关系;嵌套的异常是org。springframework。豆。工厂NoSuchBean定义异常:没有“
我正在用Spring Boot实现Rest API。因为我的实体类来自另一个包,所以我必须用注释来指定它。另外,我使用来指定定义JPA存储库的包。下面是我的项目的样子: 在我的controller类中,我有一个SeqService对象Autowired。 是一个接口,我从它为创建了一个Bean类。在中,我对JPA存储库进行了描述: 我不明白这个错误。和排位赛bean有什么关系?
我正在尝试在Spring应用程序中设置第二个数据源。以下是两个数据源的两个配置类: 第二个配置类: 我在com上看到过。XYXYale。坚持不懈XY a Spring数据JPA回购协议定义如下 德莫雷波 人口学 DemoRepoImpl 回购协议的使用方式如下: 我得到一个例外: 有人对如何解决这个问题有建议吗?我可以想到为每个回购注入正确的实体经理,但是我不知道如何做到这一点。 提前感谢。在这里
问题内容: 我使用的是Spring-boot,因此在Tomcat 7中部署了战争。启动应用程序时,我得到以下信息: 这是我的应用程序启动的方式: 当我的Spring控制器处理连接时: 它在userService上执行getUser: 使用userDao查找实体: 我在/ src / main / resources中具有以下spring-config.xml: 最后但并非最不重要的是以下/src/
问题内容: 我无法开始使用。我已经按照本指南创建了一个简单的Spring Boot应用程序,但是使用了Hibernate和相关的配置。 build.gradle: 每当我尝试运行该应用程序时,都会得到以下结果: 我已经看到此错误(据报道,该错误已从1.10.7开始修复),但降级至 1.9.x 并没有帮助,我仍然遇到相同的错误。 有任何想法吗? 问题答案: 问题出在。从依赖项中删除它可以解决此问题。