Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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 弹簧数据不存在';t log findById_Java_Spring_Spring Boot_Spring Data Jpa - Fatal编程技术网

Java 弹簧数据不存在';t log findById

Java 弹簧数据不存在';t log findById,java,spring,spring-boot,spring-data-jpa,Java,Spring,Spring Boot,Spring Data Jpa,创建了客户实体和存储库: public interface CustomerRepository extends CrudRepository<Customer, Long> { } 我没有在日志中看到selectquery,只有持久化实体的日志记录: 2019-12-28 16:29:56.732 INFO 17623 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA

创建了
客户
实体和存储库:

public interface CustomerRepository extends CrudRepository<Customer, Long> {
}
我没有在日志中看到
select
query,只有持久化实体的日志记录:

2019-12-28 16:29:56.732  INFO 17623 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-12-28 16:29:57.331  INFO 17623 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 4.526 seconds (JVM running for 5.198)
2019-12-28 16:29:57.382 DEBUG 17623 --- [           main] org.hibernate.SQL                        : insert into customer (first_name, last_name) values (?, ?)
customer Optional[Customer[id=73, firstName='Jack3', lastName='Bauer']]
2019-12-28 16:30:03.455  INFO 17623 --- [       Thread-2] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2019-12-28 16:30:03.457  INFO 17623 --- [       Thread-2] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2019-12-28 16:30:03.462  INFO 17623 --- [       Thread-2] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
这是主要课程:


@SpringBootApplication
public class DemoApplication
{
  private static final Logger log = LoggerFactory.getLogger(DemoApplication.class);

  public static void main(String[] args)
  {
    SpringApplication.run(DemoApplication.class, args);
  }
  @Autowired
  BeanClass bc;
  @Bean
  public CommandLineRunner demo(CustomerRepository repository)
  {

    return (args) -> {
      bc.tran();
    };
  }
}

可以记录
findById
吗?

这是预期的:它不需要执行任何查询,因为您只是在同一事务中持久化了实体:它在一级缓存中

顺便说一句,当时它甚至还没有被插入到数据库中


如果执行一个事务以保存实体,另一个事务以按ID查找实体,那么您将看到正在执行SQL查询。

这是意料之中的:它不需要执行任何查询,因为您只是在同一事务中持久化实体:它在一级缓存中

顺便说一句,当时它甚至还没有被插入到数据库中


如果执行一个事务以保存实体,另一个事务以按ID查找实体,则会看到正在执行SQL查询。

原因一级hibernate缓存


未记录findById,因为它位于同一事务(在输入方法tran()时启动)和同一Hibernate会话中。findById的select查询未执行,因为对象已在当前会话中加载。

原因是一级hibernate缓存

未记录findById,因为它位于同一事务(在输入方法tran()时启动)和同一Hibernate会话中。findById的select查询未执行,因为对象已在当前会话中加载

2019-12-28 16:29:56.732  INFO 17623 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-12-28 16:29:57.331  INFO 17623 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 4.526 seconds (JVM running for 5.198)
2019-12-28 16:29:57.382 DEBUG 17623 --- [           main] org.hibernate.SQL                        : insert into customer (first_name, last_name) values (?, ?)
customer Optional[Customer[id=73, firstName='Jack3', lastName='Bauer']]
2019-12-28 16:30:03.455  INFO 17623 --- [       Thread-2] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2019-12-28 16:30:03.457  INFO 17623 --- [       Thread-2] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2019-12-28 16:30:03.462  INFO 17623 --- [       Thread-2] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

@SpringBootApplication
public class DemoApplication
{
  private static final Logger log = LoggerFactory.getLogger(DemoApplication.class);

  public static void main(String[] args)
  {
    SpringApplication.run(DemoApplication.class, args);
  }
  @Autowired
  BeanClass bc;
  @Bean
  public CommandLineRunner demo(CustomerRepository repository)
  {

    return (args) -> {
      bc.tran();
    };
  }
}