我得到了FooBar is not mapped例外,即使我已經(jīng)放置了所有必要的注釋:模型類中的實(shí)體注解:模型/FooBar.java*@Data@Entity@Table(name = "ORDERS")public class FooBar {}DAO 中的 Repository、PersistenceContext 和 Transactioinal。另外,我正確地用類的名稱“FooBar”引用了它db/FooBarDao.java@Repositorypublic class OrderDAO { @PersistenceContext private EntityManager em; @Transactional public List<FooBar> getFooBars() { return em.createQuery( "select fb from FooBar fb", FooBar.class ).getResultList(); }}這是使其全部正常工作的配置:conf/DbConfig.java@EnableTransactionManagement@Configuration@ComponentScan(basePackages = {"project.db"})public class DbConfig { @Autowired public Environment env; @Bean public DataSource dataSource() { System.out.println("Configuring database!!!!!!!!"); DriverManagerDataSource ds = new DriverManagerDataSource(); ds.setDriverClassName("org.hsqldb.jdbcDriver"); ds.setUrl("jdbc:hsqldb:mem:myjdbc"); new JdbcTemplate(ds) .update(FileUtil.readFile2("./src/main/java/project/db/sql/initialize.sql")); return ds; } @Bean public PlatformTransactionManager transactionManager( EntityManagerFactory entityManagerFactory) { return new JpaTransactionManager(entityManagerFactory); } @Bean public EntityManagerFactory entityManagerFactory() { LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean(); factory.setPersistenceProviderClass(HibernatePersistenceProvider.class); factory.setPackagesToScan("model"); factory.setDataSource(dataSource()); factory.setJpaProperties(additionalProperties()); factory.afterPropertiesSet(); return factory.getObject(); }}
1 回答

隔江千里
TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
即使我正確設(shè)置了注釋并正確引用了類,它也沒(méi)有找到映射。所以問(wèn)題很可能是掃描模型類。
我的項(xiàng)目結(jié)構(gòu)是/src/main/java/project/
...
所以,掃描model
:
factory.setPackagesToScan("model");
找不到任何豆子。相反,我需要做
factory.setPackagesToScan("project.model");
這解決了這個(gè)問(wèn)題。
添加回答
舉報(bào)
0/150
提交
取消