Java 未找到hibernate.properties配置?
以下是我的三门课:Java 未找到hibernate.properties配置?,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,以下是我的三门课: @Configuration //Marks this class as configuration //Specifies which package to scan @ComponentScan({"pl.jpet"})//,"pl.dup"}) //Enables Spring's annotations @EnableWebMvc //@EnableTransactionManagement @PropertySource("classpath:application
@Configuration //Marks this class as configuration
//Specifies which package to scan
@ComponentScan({"pl.jpet"})//,"pl.dup"})
//Enables Spring's annotations
@EnableWebMvc
//@EnableTransactionManagement
@PropertySource("classpath:application.properties")
public class Config {
@Resource
private Environment env;
@Bean(name = "dataSource")
public BasicDataSource dataSource() {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://localhost:3306/wikidb");
ds.setUsername("root");
ds.setPassword("root");
return ds;
}
@Bean
public HibernateExceptionTranslator hibernateExceptionTranslator() {
return new HibernateExceptionTranslator();
}
@Bean
@Autowired
public EntityManagerFactory entityManagerFactory(BasicDataSource dataSource) {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
vendorAdapter.setDatabasePlatform("org.hibernate.dialect.MySQL5InnoDBDialect");
vendorAdapter.setDatabase(Database.MYSQL);
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setJpaVendorAdapter(vendorAdapter);
factory.setDataSource(dataSource);
factory.setPersistenceUnitName("wikidb");
factory.setPackagesToScan("pl.jpet");
factory.afterPropertiesSet();
return factory.getObject();
}
@Bean
@Autowired
public JpaTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
JpaTransactionManager txManager = new JpaTransactionManager();
JpaDialect jpaDialect = new HibernateJpaDialect();
txManager.setEntityManagerFactory(entityManagerFactory);
txManager.setJpaDialect(jpaDialect);
return txManager;
}
----------------------------------------------------------------------
package pl.jpet.model;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Data
@Table(name="zrobmitabele")
public class TestModel {
@Id
@Column(name = "name", nullable = false)
private String name;
}
-----------------------------------------------------------------------------
@Transactional
@RestController
@RequestMapping("/una")
public class UnauthenticatedController {
@PersistenceContext
private EntityManager em;
@Transactional
@RequestMapping(method = RequestMethod.GET,value="/checkLogin")
public ResponseEntity<String> checkLogin() throws IOException {
TestModel test = new TestModel();
test.setName("KUBA");
em.persist(test);
return new ResponseEntity<String>(HttpStatus.OK);
}
}
@Configuration//将此类标记为配置
//指定要扫描的包
@组件扫描({“pl.jpet”})/,“pl.dup”})
//启用Spring的注释
@EnableWebMvc
//@启用事务管理
@PropertySource(“类路径:application.properties”)
公共类配置{
@资源
私人环境署;
@Bean(name=“dataSource”)
公共数据源数据源(){
BasicDataSource ds=新的BasicDataSource();
setDriverClassName(“com.mysql.jdbc.Driver”);
ds.setUrl(“jdbc:mysql://localhost:3306/wikidb");
ds.setUsername(“根”);
设置密码(“根”);
返回ds;
}
@豆子
公共HibernateExceptionTranslator HibernateExceptionTranslator(){
返回新的HibernateeExceptionTranslator();
}
@豆子
@自动连线
公共EntityManagerFactory EntityManagerFactory(基本CDATA源数据源){
HibernateJavaEndorapter vendorAdapter=新的HibernateJavaEndorapter();
setDatabasePlatform(“org.hibernate.dialent.mysql5innodbdialent”);
setDatabase(Database.MYSQL);
LocalContainerEntityManagerFactoryBean工厂=新的LocalContainerEntityManagerFactoryBean();
工厂。setJpaVendorAdapter(供应商适配器);
setDataSource(数据源);
factory.setPersistenceUnitName(“wikidb”);
factory.setPackagesToScan(“pl.jpet”);
factory.AfterPropertieSet();
返回factory.getObject();
}
@豆子
@自动连线
公共JpaTransactionManager事务管理器(EntityManager工厂EntityManager工厂){
JpaTransactionManager txManager=新的JpaTransactionManager();
JpaDialect JpaDialect=new HibernateJpaDialect();
txManager.setEntityManagerFactory(entityManagerFactory);
txManager.setJpaDialect(jpaDialect);
返回txManager;
}
----------------------------------------------------------------------
包pl.jpet.model;
导入龙目数据;
导入javax.persistence.Column;
导入javax.persistence.Entity;
导入javax.persistence.Id;
导入javax.persistence.Table;
@实体
@资料
@表(name=“zrobmitabele”)
公共类测试模型{
@身份证
@列(name=“name”,nullable=false)
私有字符串名称;
}
-----------------------------------------------------------------------------
@交易的
@RestController
@请求映射(“/una”)
公共类未经身份验证的控制器{
@持久上下文
私人实体管理者;
@交易的
@RequestMapping(method=RequestMethod.GET,value=“/checkLogin”)
public ResponseEntity checkLogin()引发IOException{
TestModel test=新的TestModel();
测试集名(“KUBA”);
em.persist(试验);
返回新的响应状态(HttpStatus.OK);
}
}
我在开始“info[org.hibernate.cfg.Environment](MSC服务线程1-1)hh000206:hibernate.properties not found)时得到了这些信息,但即使在我调用“/una”之后,它仍然没有崩溃服务它没有抛出任何东西-我猜我的配置类有问题,但我不知道是什么,有人吗?我在配置类上错过了@EnableTransactionManagement
@_@确保类路径包含application.properties..和Hibernate属性!毕竟我不需要Hibernate.propertis文件,我在类中以字符串形式传递它,这样看起来很好,但我仍然无法在表中创建对象,它不会抛出任何错误,签出未经身份验证的控制器类