Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/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
Jpa 对托管实体调用merge方法而不进行更改是否会更新基础数据库? //pm是一个product manager对象,它处理实际的数据库调用 产品=pm.findProduct(1); List products=pm.findAllProducts(); products.stream().forEach(System.out::println); pm.更新(产品);//pm对象通过在实体管理器对象上调用merge进行委托 products=pm.findAllProducts(); products.stream().forEach(System.out::println);_Jpa_Merge_Derby - Fatal编程技术网

Jpa 对托管实体调用merge方法而不进行更改是否会更新基础数据库? //pm是一个product manager对象,它处理实际的数据库调用 产品=pm.findProduct(1); List products=pm.findAllProducts(); products.stream().forEach(System.out::println); pm.更新(产品);//pm对象通过在实体管理器对象上调用merge进行委托 products=pm.findAllProducts(); products.stream().forEach(System.out::println);

Jpa 对托管实体调用merge方法而不进行更改是否会更新基础数据库? //pm是一个product manager对象,它处理实际的数据库调用 产品=pm.findProduct(1); List products=pm.findAllProducts(); products.stream().forEach(System.out::println); pm.更新(产品);//pm对象通过在实体管理器对象上调用merge进行委托 products=pm.findAllProducts(); products.stream().forEach(System.out::println);,jpa,merge,derby,Jpa,Merge,Derby,两个println语句打印相同数量的记录,没有任何更改。由于产品管理实体中没有状态变化 持久性提供程序(PP)仍会将其发送到数据库进行更新吗?两种情况下的状态:使用和未使用二级缓存时 如果否,PP如何确定更改 如果是,因为第二次输出没有差异,我如何确定数据库更新了记录?我如何确定数据库执行了update语句 编辑:添加了'derby'标记。“如何确定数据库已执行update语句?” 您可以启用sql日志记录,并在日志中查找执行哪些sql查询。 根据日志记录,持久性提供程序不会发出update语

两个
println
语句打印相同数量的记录,没有任何更改。由于
产品
管理实体中没有状态变化

  • 持久性提供程序(PP)仍会将其发送到数据库进行更新吗?两种情况下的状态:使用和未使用二级缓存时
  • 如果否,PP如何确定更改
  • 如果是,因为第二次输出没有差异,我如何确定数据库更新了记录?我如何确定数据库执行了update语句
  • 编辑:添加了'derby'标记。

    “如何确定数据库已执行update语句?” 您可以启用sql日志记录,并在日志中查找执行哪些sql查询。

  • 根据日志记录,持久性提供程序不会发出update语句
  • 这可能是特定于JPA实现的

  • 我很想知道“数据库”方面类似的事情。
    // pm is a product manager object which handles actual database calls
    Product product = pm.findProduct( 1 );
    List<Product> products = pm.findAllProducts();
    products.stream().forEach( System.out::println );
    
    pm.update( product ); // pm object delegates by calling merge on an entity manager object
    products = pm.findAllProducts();
    products.stream().forEach( System.out::println );