【问题标题】:start using jpa in spring在春季开始使用 jpa
【发布时间】:2014-09-26 23:04:04
【问题描述】:

我真的不明白。我下载了 STS Spring Tool Suite,我想在我的 MVC 应用程序中使用 JPA。我必须添加一些 JAR 吗?我在哪里可以找到 JAR,我怎么知道 JAR 是什么?我必须在我的 pom.xml 文件中添加什么?

我已经检查了许多网站,但有人确切地告诉我如何使它工作。就像假设你知道一些我真的不知道步骤是什么的假设。

那么,如果我为不同的对象创建多个存储库,它们会对同一个数据库进行事务处理吗?

【问题讨论】:

    标签: java spring maven jpa


    【解决方案1】:

    我推荐访问http://mvnrepository.com。我过去曾用它来找出我需要添加到 POM 中的内容。此外,像 IntelliJ 和 Eclipse 这样的 IDE 通过提供 arch-types 等使这变得非常容易。例如,要让 spring 去这里:http://mvnrepository.com/artifact/org.springframework/spring-context/4.1.0.RELEASE

    这里有一些东西可以帮助您入门。只需添加这些依赖项,您将获得 jpa 和 spring。删除持久性这是您制作简单的 spring mvc Web 服务器所需要的。有了持久性,您就必须进行设置。

       <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>4.0.5.RELEASE</version>
        </dependency>
    

    【讨论】:

    • 有什么方法可以自动执行此操作而无需手动添加此依赖项?
    • 除非您使用预定义的 arch-type,否则您必须手动完成。 IntelliJ 非常擅长这一点,因为它在您编辑 POM 文件时有代码提示,以向您显示它知道的 jar,这样可以节省您搜索 Internet 的时间。 Eclipse 仅支持拱型。我建议购买 IntelliJ,社区版免费支持此功能。 jetbrains.com/idea/download
    • 我不明白。我下载了 Spring 官方网站的示例,我导入到 STS 并完美运行。你有没有机会向我解释我必须做什么。我知道您正在尝试帮助我,但是当我迷路并且有人给了我新的 URL 以访问时,阅读起来很困难。我不相信这是一件复杂的事情。它一定比这更容易。 1 - 我在哪里可以找到我需要的 de JARS? 2 - 是否有任何地方可能会自动下载项目? 3 - 在 STS 中是否有任何特殊类型的项目?伙计,这可能更容易。
    • 在我看来,我会避免使用 Spring Tool Suite。您需要对 Maven 做一些事情:(1) 将 maven 安装到您的计算机,(2) 创建一个指向 maven 安装的 MAVEN_HOME 环境变量(即 C:\maven\apache-maven-3.0.4) ,然后 (3) 创建 POM 文件。使用 pom 文件所在的 build 指令调用 mvn 将自动为您下载 jar 文件。这就是maven的美妙之处。使用 IntelliJ 的免费版本使这变得更加容易,因为它集成了,Eclipse 也有一个 maven 项目。
    • 为什么要避免使用 Spring Tool Suite?
    【解决方案2】:

    在 pom.xml 中使用它

    <dependency> <groupId>javax.persistence</groupId> <artifactId>persistence-api</artifactId> <version>1.0</version> </dependency>

    【讨论】:

    • 我在 pom.xml 中写了,就这样?
    • 是的...然后做一个 maven 构建,这样它就可以下载依赖项,javax.persistence 就可以使用了。
    • 如何构建 Maven?你能一步一步解释你想解释什么吗?
    • 这是我刚刚用步骤创建的 1 分钟视频...screencast.com/t/hTGvUzdBl
    • 现在很清楚了...问题是在 pom.xml 文件中添加依赖项并编译项目。编译时,会在 Maven Dependencies 中自动出现需要的 jar 文件。
    【解决方案3】:

    网上有很多例子。我敢肯定,如果你搜索,你会找到一些东西。无论如何,我在这里有一个项目可以用来开始:

    https://github.com/alanhay/spring-data-jpa-bootstrap

    这是一个最小的项目,包含您需要的一切,包括一些将针对内存中 HSQLDB 数据库运行的单元测试。

    您可以下载 ZIP 并导入到 Eclipse/STS 或将其作为 git 项目检出。对于邮编:

    • 下载、解压,然后在 Eclipse/STS 中选择 Import > Existing Maven Project > 选择解压后的文件夹。

    • 导入后右键单击项目并运行 mvn > install(因为项目使用 QueryDSL 需要完整的 Maven 构建而不是 Eclipse 增量构建,但您可以设置一个插件)。

      李>
    • 打开测试类 UserRepositoryTest 并运行。

    此外,除了上面的 cmets,persistence-api 只是一个规范。您还需要为实现添加依赖项,例如休眠、OpenJPA、EclipseLink。我的示例项目使用 Hibernate。

    【讨论】:

    • 谢谢。我正在测试persistence-api,我意识到还剩下一些东西。我必须将 JPA 与 MVC 一起使用。是否有任何提示、您做过的项目或网站可供阅读?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 2013-11-12
    • 1970-01-01
    相关资源
    最近更新 更多