我使用Spring boot + JPA,启动服务时遇到问题。
Caused by: java.lang.IllegalArgumentException: Not an managed type: class com.nervytech.dialer.domain.PhoneSettings
at org.hibernate.jpa.internal.metamodel.MetamodelImpl.managedType(MetamodelImpl.java:219)
at org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.<init>(JpaMetamodelEntityInformation.java:68)
at org.springframework.data.jpa.repository.support.JpaEntityInformationSupport.getMetadata(JpaEntityInformationSupport.java:65)
at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getEntityInformation(JpaRepositoryFactory.java:145)
at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:89)
at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:69)
at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:177)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:239)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:225)
at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:92)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1625)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1562)
这是Application.java文件,
@Configuration
@ComponentScan
@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class })
@SpringBootApplication
public class DialerApplication {
public static void main(String[] args) {
SpringApplication.run(DialerApplication.class, args);
}
}
我使用UCp进行连接池,下面是DataSource配置,
@Configuration
@ComponentScan
@EnableTransactionManagement
@EnableAutoConfiguration
@EnableJpaRepositories(entityManagerFactoryRef = "dialerEntityManagerFactory", transactionManagerRef = "dialerTransactionManager", basePackages = { "com.nervy.dialer.spring.jpa.repository" })
public class ApplicationDataSource {
/** The Constant LOGGER. */
private static final Logger LOGGER = LoggerFactory
.getLogger(ApplicationDataSource.class);
/** The Constant TEST_SQL. */
private static final String TEST_SQL = "select 1 from dual";
/** The pooled data source. */
private PoolDataSource pooledDataSource;
UserDetailsService Implementation,
@Service("userDetailsService")
@SessionAttributes("user")
public class UserDetailsServiceImpl implements UserDetailsService {
@Autowired
private UserService userService;
Service layer implementation,
@Service
public class PhoneSettingsServiceImpl implements PhoneSettingsService {
}
The repository class,
@Repository
@Repository
public interface PhoneSettingsRepository extends JpaRepository<PhoneSettings, Long> {
}
Entity class,
@Entity
@Table(name = "phone_settings", catalog = "dialer")
public class PhoneSettings implements java.io.Serializable {
WebSecurityConfig class,
@Configuration
@EnableWebMvcSecurity
@ComponentScan
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsServiceImpl userDetailsService;
/**
* Instantiates a new web security config.
*/
public WebSecurityConfig() {
super();
}
/**
* {@inheritDoc}
* @see org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter#configure(org.springframework.security.config.annotation.web.builders.HttpSecurity)
*/
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/login", "/logoffUser", "/sessionExpired", "/error", "/unauth", "/redirect", "*support*").permitAll()
.anyRequest().authenticated().and().rememberMe().and().httpBasic()
.and()
.csrf()
.disable().logout().deleteCookies("JSESSIONID").logoutSuccessUrl("/logoff").invalidateHttpSession(true);
}
@Autowired
public void configAuthentication(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(new BCryptPasswordEncoder());
}
}
软件包如下,
com.nervy.dialer
com.nervy.dialer.common
com.nervy.dialer.domain
com.nervy.dialer.domain.service.impl
com.nervy.dialer.spring.controller
com.nervy.dialer.spring.jpa.repository
com.nervy.dialer.spring.security
谢谢
尝试添加以下所有内容,在我的应用程序中,它与tomcat正常工作
@EnableJpaRepositories("my.package.base.*")
@ComponentScan(basePackages = { "my.package.base.*" })
@EntityScan("my.package.base.*")
我使用的是Spring Boot,当我使用嵌入式tomcat时,它工作得很好, @EntityScan("my.package.base.*")
但是当我尝试将应用程序部署到外部tomcat时not a managed type
,我的实体出现错误。
我正在使用和。它在这里 我有一个像这样的域名。而且,似乎不推荐使用注释,所以我使用了。 类如下所示 使用该类的如下所示 但当我启动应用程序时,我得到了错误 问题出在哪里?
我正在创建两个不同的数据源的Spring引导应用程序。我已经为单独的数据库创建了配置文件。对于每个数据库,实体在不同的包中,模型在不同的包中。当我跑的时候 mvn清洁安装 它正确地创建数据库和所有表。但是在创建存储库时总是失败。下面我提供所有必要的细节: 主类 Application.Properties 有人能帮忙吗?我缺少了什么参数,或者我在这里做错了什么?提前感谢!
我使用spring boot+JPA,在启动服务时遇到了一个问题。 下面是application.java文件, 我使用UCp进行连接池,数据源配置如下所示, UserDetailsService实现, 服务层实现, repository类, 实体类, WebSecurityConfig类, 这些包如下所示, 类在-中 类在-中 实体类在- 服务类在- 控制器在- 存储库类在-中 在-中 谢谢
我正在尝试运行一个非常简单的Spring Boot应用程序,但是我得到以下错误消息: 下面是我的主要应用程序类代码: 下面是Todo类: 我尝试将相应的包名添加到我的@ComponentScan注释中,并尝试将@Component注释添加到我的Todo类中,但都没有奏效。
我对spring data JPA有意见。我克隆了这个存储库https://github.com/royclarkson/spring-rest-service-oauth,它工作得非常好。然后我想用real database替换import.sql,并想将它与Postgres连接起来。我遵循了下一个教程:http://devcrumb.com/hibernate/spring-data-jpa-
当我运行我的应用程序时,我收到一个错误。 应用程序结构 结构 pom.xml RestartApplication.java MvcConfig WebSecurityConfig 身份验证控制器(显示欢迎页面) 博客控制器 主控制器 注册控制器 邮政 角色 用户 后存储库 用户报告 我试图使用@EnableJpaRepositories和@EntityScan修复它,但这无济于事。在我的MySQ