Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.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 SpringDataJPA真的那么容易使用吗_Java_Spring_Hibernate_Spring Boot_Spring Data Jpa - Fatal编程技术网

Java SpringDataJPA真的那么容易使用吗

Java SpringDataJPA真的那么容易使用吗,java,spring,hibernate,spring-boot,spring-data-jpa,Java,Spring,Hibernate,Spring Boot,Spring Data Jpa,我一直在与Spring合作,最近发现了PersistantContext和EntityManager等的存在。我一直使用SpringData+JPA,所以我从来并没有接触过太多的东西。在看了Hibernate如何使用Session和JPA单独使用EntityManager之后,我有点吓坏了。所以我想知道SpringDataJPA是如何对enteties进行所有持久化和操作的。文件中的所有内容如下: 所以我的主要问题是SpringDataJPA真的让与数据库的交互变得那么容易吗?几个简单的问题:

我一直在与Spring合作,最近发现了PersistantContext和EntityManager等的存在。我一直使用SpringData+JPA,所以我从来并没有接触过太多的东西。在看了Hibernate如何使用Session和JPA单独使用EntityManager之后,我有点吓坏了。所以我想知道SpringDataJPA是如何对enteties进行所有持久化和操作的。文件中的所有内容如下:

所以我的主要问题是SpringDataJPA真的让与数据库的交互变得那么容易吗?几个简单的问题:

  • 如果我使用经典的JPA存储库和Spring数据。希望这部作品完美无瑕:

    拯救(某人)//他的名字叫弗雷德
    Person temp=personRepository.findByName(“Fred”); 临时设置名称(“Freddy”); 人员报告保存(临时)

  • 这是否本质上是对此人的更新

  • 我需要使用Spring数据JPA entityManager操作实体的知识吗?您能列出一些我可能需要的情况吗

  • 减少样板代码: 使用您自己的存储库实现的fineder方法将由几行源代码组成:一行创建查询,第二行初始化查询,第三行传递参数,第四行收集结果

    灵活性: 允许使用spring数据管理存储库方法内联自定义存储库代码

    提供常见问题的通用实现: 例如,使用spring数据进行分页是免费的。您自己会生成多少代码和多少bug来实现这一点

    与Spring MVC的进一步集成: 通过提供与SpringMVC生态系统的透明集成,节省了更多的样板代码

    强制您使用合理命名的界面: 在这里,我要指出“从存储库方法名称派生的动态查询”,它会影响接口命名和结构


    这容易吗?显然,如果您使用hibernate,这是JPA和hibernate之上的又一个技术抽象,但同时您可以节省的代码量和可以避免的bug量。是的,这可能是一个很好的折衷。

    我知道它有很多好处,我只是想知道asp的持久性和事务性这是其他技术不得不担心的about@Emperor您将从理解JPA和hibernate的工作原理中获益。Spring JPA只是这两个概念之上的抽象。如果您愿意,这是一种构建API的方法。如果您想问一个关于“Spring数据JPA”的问题“那么你现在应该知道是这样了!”JPA API,因此正确标记问题,并实际包含
    spring数据JPA
    ,而不是
    JPA