Я получаю исключение FooBar is not mapped
, хотя я разместил все необходимые аннотации:
Аннотация сущности в классе модели:
модель / FooBar.java *
@Data
@Entity
@Table(name = "ORDERS")
public class FooBar {}
Репозиторий, PersistenceContext и Transactioinal в DAO. Кроме того, я ссылался на него по имени класса "FooBar", правильно
дб / FooBarDao.java
@Repository
public class OrderDAO {
@PersistenceContext
private EntityManager em;
@Transactional
public List<FooBar> getFooBars() {
return em.createQuery(
"select fb from FooBar fb",
FooBar.class
).getResultList();
}
}
Вот конфигурация, чтобы все это заработало:
конф / 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();
}
private Properties additionalProperties() {
Properties properties = new Properties();
properties.setProperty("hibernate.hbm2ddl.auto", "validate");
properties.setProperty("hibernate.dialect",
"org.hibernate.dialect.HSQLDialect");
properties.setProperty("hibernate.show_sql", "true");
properties.setProperty("hibernate.format_sql", "true");
return properties;
}
}