首页 > 解决方案 > com.dao.impl.EnvironmentPropertyRepositoryImpl 中构造函数的参数 0 需要找不到类型为“java.lang.Class”的 bean

问题描述

我有一个实体EnvironmentProperty,它有一个复合主键EnvironmentPropertyId(我用 给出@EmbeddedId)。我已经编写了他们的 Dao 实现(代码如下)。但是当我尝试运行代码时,它会给出错误:

Parameter 0 of constructor in com.visa.dp.ags.probe.api.server.dao.impl.EnvironmentPropertyRepositoryImpl required a bean of type 'java.lang.Class' that could not be found.

以下是Dao接口的代码

public interface EnvironmentPropertyRepository extends JpaRepository<EnvironmentProperty, EnvironmentPropertyId> {}

以下是道实现的代码。

@Repository("environmentPropertyRepository")
public class EnvironmentPropertyRepositoryImpl extends SimpleJpaRepository<EnvironmentProperty, EnvironmentPropertyId> implements EnvironmentPropertyRepository {

 public EnvironmentPropertyRepositoryImpl(Class<EnvironmentProperty> domainClass, EntityManager em) {
    super(domainClass, em);
 }
}

这是构造函数的第一个参数的指示错误,即domainClass

我无法弄清楚我做错了什么。任何帮助表示赞赏。

标签: hibernatespring-boot

解决方案


我使用了不同的方法。而不是实现接口并在类中编写查询,我只在接口中的@Query 中给出了查询。对上述问题没有得到任何解决方案。

public interface EnvironmentPropertyRepository extends JpaRepository<EnvironmentProperty, EnvironmentPropertyId> {

    @Query( value="SELECT * from {h-schema}TSIC_ENV_PROP where WEB_SVC_ID = ?1 and SVC_ID = ?2 and PARAM_ID = ?3", nativeQuery=true)
    List<EnvironmentProperty> getEnvProp(int webSvcId, int svcId, String paramId);

}

推荐阅读