Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带H2数据库的Spring引导jpa_Java_Spring_Jpa_Spring Boot_H2 - Fatal编程技术网

Java 带H2数据库的Spring引导jpa

Java 带H2数据库的Spring引导jpa,java,spring,jpa,spring-boot,h2,Java,Spring,Jpa,Spring Boot,H2,我正在尝试一个示例代码,用JPA为H2 DB运行我的Spring Boot数据项目 代码如下,应用程序运行正常,但我没有看到创建任何表,在服务器控制台中也没有看到任何错误。我查看了日志,没有发现任何查询被创建为被解雇。我做错什么了吗 域类: @Entity public class Account { @Id @GeneratedValue private Integer accountId; private String name; private

我正在尝试一个示例代码,用JPA为H2 DB运行我的Spring Boot数据项目

代码如下,应用程序运行正常,但我没有看到创建任何表,在服务器控制台中也没有看到任何错误。我查看了日志,没有发现任何查询被创建为被解雇。我做错什么了吗

域类:

@Entity
public class Account {

    @Id
    @GeneratedValue
    private Integer accountId;

    private String name;

    private String accType;

    public Integer getAccountId() {
        return accountId;
    }

    public String getName() {
        return name;
    }

    public String getAccType() {
        return accType;
    }

    public Account(Integer accountId, String name, String accType) {
        super();
        this.accountId = accountId;
        this.name = name;
        this.accType = accType;
    }

    public Account(String name, String accType) {
        super();
        this.name = name;
        this.accType = accType;
    }
    public Account() {

    }
数据加载器类:

@Component
public class AccountLoaded {

    private AccountRepository accountRepository;

    public AccountLoaded(AccountRepository accountRepository) {
        this.accountRepository = accountRepository;
    }

    @PostConstruct
    private void loadData() {
        Account account = new Account(1,"Madhu","Savings");
        accountRepository.save(account);
        System.out.println("Loaded Account " + account.toString());
    }

}
存储库类:

@Repository
public interface AccountRepository extends CrudRepository<Account, Integer> {

}
服务器控制台中的我的日志:

2016-10-11 12:38:26.202  INFO 20020 --- [           main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2016-10-11 12:38:26.217  INFO 20020 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
    name: default
    ...]
2016-10-11 12:38:26.285  INFO 20020 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate Core {5.0.11.Final}
2016-10-11 12:38:26.287  INFO 20020 --- [           main] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
2016-10-11 12:38:26.288  INFO 20020 --- [           main] org.hibernate.cfg.Environment            : HHH000021: Bytecode provider name : javassist
2016-10-11 12:38:26.327  INFO 20020 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
2016-10-11 12:38:26.554  INFO 20020 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2016-10-11 12:38:26.995  INFO 20020 --- [           main] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000227: Running hbm2ddl schema export
2016-10-11 12:38:27.004  INFO 20020 --- [           main] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000230: Schema export complete
2016-10-11 12:38:27.044  INFO 20020 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
Loaded Account Account [accountId=1, name=Madhu, accType=Savings]
2016-10-11 12:38:27.587  INFO 20020 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@b472aa: startup date [Tue Oct 11 12:38:23 CDT 2016]; root of context hierarchy
2016-10-11 12:38:27.663  INFO 20020 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2016-10-11 12:38:27.664  INFO 20020 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2016-10-11 12:38:27.696  INFO 20020 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-10-11 12:38:27.696  INFO 20020 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-10-11 12:38:27.732  INFO 20020 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-10-11 12:38:27.959  INFO 20020 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2016-10-11 12:38:28.011  INFO 20020 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2016-10-11 12:38:28.015  INFO 20020 --- [           main] com.example.SpringdataApplication        : Started SpringdataApplication in 4.898 seconds (JVM running for 5.255)
2016-10-11 12:38:26.202信息20020---[main]j.LocalContainerEntityManagerFactoryBean:为持久化单元“default”构建JPA容器EntityManagerFactory
2016-10-11 12:38:26.217信息20020---[main]o.hibernate.jpa.internal.util.LogHelper:hh000204:处理持久性UnitInfo[
名称:默认值
...]
2016-10-11 12:38:26.285信息20020---[main]org.hibernate.Version:hh000412:hibernate核心{5.0.11.Final}
2016-10-11 12:38:26.287信息20020---[main]org.hibernate.cfg.Environment:hh000206:hibernate.properties未找到
2016-10-11 12:38:26.288信息20020---[main]org.hibernate.cfg.Environment:hh000021:字节码提供程序名称:javassist
2016-10-11 12:38:26.327 INFO 20020---[main]o.hibernate.annotations.common.Version:HCANN000001:hibernate Commons annotations{5.0.1.Final}
2016-10-11 12:38:26.554信息20020---[main]org.hibernate.dialen.dialen:hh000400:使用方言:org.hibernate.dialen.h2方言
2016-10-11 12:38:26.995 INFO 20020---[main]org.hibernate.tool.hbm2ddl.SchemaExport:hh000227:运行hbm2ddl架构导出
2016-10-11 12:38:27.004信息20020---[main]org.hibernate.tool.hbm2ddl.SchemaExport:hh000230:模式导出完成
2016-10-11 12:38:27.044 INFO 20020---[main]j.LocalContainerEntityManagerFactoryBean:初始化了持久化单元“default”的JPA EntityManagerFactory
已加载帐户[帐户ID=1,名称=Madhu,帐户类型=储蓄]
2016-10-11 12:38:27.587 INFO 20020---[main]s.w.s.m.a.RequestMappingHandlerAdapter:正在寻找@ControllerAdvice:org.springframework.boot.context.embedded。AnnotationConfigEmbeddedWebApplicationContext@b472aa:启动日期【2016年10月11日星期二12:38:23】;上下文层次结构的根
2016-10-11 12:38:27.663 INFO 20020-[main]s.w.s.m.a.RequestMappingHandlerMapping:mapping“{[/error]}”映射到public org.springframework.http.ResponseEntity org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2016-10-11 12:38:27.664 INFO 20020-[main]s.w.s.m.a.RequestMappingHandlerMapping:将“{[/error],products=[text/html]}”映射到public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2016-10-11 12:38:27.696 INFO 20020---[main]o.s.w.s.handler.simplerlhandler映射:将URL路径[/webjars/**]映射到[class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]类型的处理程序上
2016-10-11 12:38:27.696 INFO 20020---[main]o.s.w.s.handler.simplerlhandler映射:将URL路径[/**]映射到[class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]类型的处理程序上
2016-10-11 12:38:27.732 INFO 20020---[main]o.s.w.s.handler.simplerlhandler映射:将URL路径[/**/favicon.ico]映射到[class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]类型的处理程序上
2016-10-11 12:38:27.959信息20020---[main]o.s.j.e.a.注释MBeanExporter:在启动时注册JMX暴露的bean
2016-10-11 12:38:28.011信息20020---[main]s.b.c.e.t.TomcatEmbeddedServletContainer:Tomcat在端口8080(http)上启动
2016-10-11 12:38:28.015信息20020---[main]com.example.SpringdataApplication:在4.898秒内启动了SpringdataApplication(JVM运行了5.255秒)

spring.datasource.jdbc url=jdbc:h2:mem:test
更改为
spring.datasource.jdbc url=jdbc:h2:file:test
(test是db文件的名称,也可以有一个带有名称的路径)并使用其中一个来查看db


您还可以将SQL语句记录到控制台,方法是将
spring.jpa.show-SQL:true
添加到您的应用程序中。属性

即使所有操作都在内存中完成,当
spring.jpa.show-SQL
设置为
true
(在
application.properties
文件中)时,您应该会看到SQL日志


不要忘记将
spring.jpa.generate ddl
设置为
true
(默认值为false),并使您加载数据方法事务(请参见spring
@Transactional
注释)。

如果您转到嵌入式h2控制台(),并在那里键入正确的连接URL(jdbc:h2:mem:test),您应该会看到一些东西


默认情况下,嵌入式h2控制台不显示正确的连接URL,它会忘记:mem:part IIRC。

您已全部设置:
hh000227:Running hbm2ddl schema export
HHH000230:schema export complete
h2是内存中的数据库。您在磁盘上看不到任何数据。@Heri H2可以在内存中或磁盘上使用,具体取决于配置。不需要额外的工具,他已经有了H2控制台(spring.H2.console.enabled=true,spring.H2.console.path=/console)
2016-10-11 12:38:26.202  INFO 20020 --- [           main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2016-10-11 12:38:26.217  INFO 20020 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
    name: default
    ...]
2016-10-11 12:38:26.285  INFO 20020 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate Core {5.0.11.Final}
2016-10-11 12:38:26.287  INFO 20020 --- [           main] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
2016-10-11 12:38:26.288  INFO 20020 --- [           main] org.hibernate.cfg.Environment            : HHH000021: Bytecode provider name : javassist
2016-10-11 12:38:26.327  INFO 20020 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
2016-10-11 12:38:26.554  INFO 20020 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2016-10-11 12:38:26.995  INFO 20020 --- [           main] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000227: Running hbm2ddl schema export
2016-10-11 12:38:27.004  INFO 20020 --- [           main] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000230: Schema export complete
2016-10-11 12:38:27.044  INFO 20020 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
Loaded Account Account [accountId=1, name=Madhu, accType=Savings]
2016-10-11 12:38:27.587  INFO 20020 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@b472aa: startup date [Tue Oct 11 12:38:23 CDT 2016]; root of context hierarchy
2016-10-11 12:38:27.663  INFO 20020 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2016-10-11 12:38:27.664  INFO 20020 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2016-10-11 12:38:27.696  INFO 20020 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-10-11 12:38:27.696  INFO 20020 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-10-11 12:38:27.732  INFO 20020 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-10-11 12:38:27.959  INFO 20020 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2016-10-11 12:38:28.011  INFO 20020 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2016-10-11 12:38:28.015  INFO 20020 --- [           main] com.example.SpringdataApplication        : Started SpringdataApplication in 4.898 seconds (JVM running for 5.255)