当前位置: 首页 > 面试题库 >

使用Hibernate,休眠注释和ehcache的Maven依赖项是什么?

沃侯林
2023-03-14
问题内容

我想用最新的hibernate,hibernate注释和ehcache依赖项更新我的Maven pom.xml。

我阅读了hibernate下载页面和ehcache下载页面。我所有的解释尝试都失败了。有人可以写出应放入pom.xml的代码段吗?

隐性hibernate下载页面:http :
//hibernate.org/downloads

加密ehcache下载页面:http : //www.terracotta.org/dl/ehcache-oss-download-
catalog

这是我到目前为止的内容:

   <properties>
       <hibernate.version>3.6.0.Final</hibernate.version>
   </properties>
   <dependencies>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate.version}</version>
        <exclusions>
            <exclusion>
                <groupId>javax.transaction</groupId>
                <artifactId>jta</artifactId>
            </exclusion>
            <exclusion>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>${hibernate.version}</version>
        <exclusions>
            <exclusion>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>2.2.0</version>
        <type>pom</type>
    </dependency>
 </dependencies>

    <repositories>
        <repository>
            <id>codehaus-repository</id>
            <name>Codehaus</name>
            <url>https://nexus.codehaus.org/content/repositories/releases/</url>
            <layout>default</layout>
        </repository>
        <repository>
            <id>java.net</id>
            <url>http://download.java.net/maven/1</url>
            <layout>legacy</layout>
        </repository>
        <repository>
            <id>central</id>
            <name>Maven Repository Switchboard</name>
            <layout>default</layout>
            <url>http://repo1.maven.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>sonatype-ehcache</id>
            <url>http://oss.sonatype.org/content/repositories/sourceforge-releases</url>
            <layout>default</layout>
        </repository>
        <repository>
            <id>JBoss Repository</id>
            <url>https://repository.jboss.org/nexus/content/groups/public</url>
            <layout>default</layout>
        </repository>
    </repositories>

我知道,这看起来像是一团糟,因为我似乎不知道所有依赖项的html" target="_blank">存储位置。

上面的失败与:

Invocation of init method failed; nested exception is java.lang.NullPointerException
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)

更新:Pascal,您的回复非常清楚并且解释清楚。但是,hibernate在启动时仍然失败。

  1. sl4j引发了错误,该错误通过添加以下内容而消失:

    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.6.1</version>
    


问题答案:

如果您真的是说hibernate-annotations(而不是hibernate-
entitymanager)和ehcache的最终版本,那么您将需要以下内容:

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>3.6.0.Final</version>
    </dependency>
    <dependency>
       <groupId>net.sf.ehcache</groupId>
       <artifactId>ehcache-core</artifactId>
       <version>2.2.0</version>
   </dependency>
   ...
  </dependencies>

  <repositories>
    <repository>
      <id>repository.jboss.org-public</id>
      <name>JBoss repository</name>
      <url>https://repository.jboss.org/nexus/content/groups/public</url>
    </repository>
  </repositories>
  ...
</project>

从Hibernate 3.6开始,已删除了对JDK 1.4的支持,并将Hibernate Annotations合并回了Core。

我的意思是说Hibernate EntityManager,然后在上面的代码段中替换hibernate-corehibernate- entitymanager

关于EHCache,ehcache-core应提供您所需的一切(包括“新的” Hibernate 3.3 /
3.5及其SPI缓存SPI的实现CacheRegionFactory)。因此,如记录所示:

将Ehcache设置为hibernate二级缓存

Hibernate 3.3及更高版本

注意海纳特3.2用户

确保记下属性名称和值的更改。

采用:

<property name="hibernate.cache.region.factory_class">
          net.sf.ehcache.hibernate.EhCacheRegionFactory</property>

例如创建,或

<property name="hibernate.cache.region.factory_class">

net.sf.ehcache.hibernate.SingletonEhCacheRegionFactory



 类似资料:
  • 问题内容: 在我见过的Java类中 用于什么目的 问题答案: 来自维基百科: 数据库实例的 数据库目录 由元数据组成,其中存储了数据库对象的定义,例如基本表,视图(虚拟表),同义词,值范围,索引,用户和用户组。 另外,如果您的数据库是MySQL,请检查此内容。 希望能有所帮助。

  • 问题内容: 它为什么如此重要?根据XML映射的优势是什么?你能解释这些吗?谢谢。 问题答案: 它不是“强制性”中的重要内容。有优势和劣势的可能性是不同的。 优点: 编译时检查:如今在IDE中,用Java(而不是Xml)编写非常易于使用。启动应用程序(渐进式编译)时,没有发现 更多错别字 ,也没有什么值得记住的( 完成 )… 使用代码进行本地化(类级别):不必打开两个文件(java和xml)以获取完

  • 问题内容: 在我的应用程序中,我使用了hibernate-core-4.1.8 jar,并希望将ehCache用作第二级缓存。我当前使用的jar是ehcache- core-2.5.0。我将其放置在WebContetn / WEB-INF / lib文件夹中,并将其放置在类路径中。 我的hibernate.cfg.xml看起来像这样: 放置在JavaResources / src文件夹中的ehca

  • 问题内容: 有一个结构。我想以这种方式链接这三个实体:公司应包含ID,公司名称和部门列表,每个部门都有一个工人列表,ID和部门名称。每个工人都有名字,身份证。 我试图与一对多和多对一建立联系,但未成功。 公司 部门 工人 我从开始: 它填充公司,但不填充其他表,也没有创建任何联接(映射)错误: 问题答案: 除了Glenn Lane的答案中提到的级联,您还需要了解双向关联是如何工作的。 它们有一个所

  • 我正在使用gradle/querydsl和JPA 2.1。 我想使用APT(qenties)生成querydsl元数据。 为此,我使用了gradle apt插件和gradle 4.7 在我的项目中,我使用以下配置了compileJava选项:

  • 问题内容: 我已经从Hibernate网站下载了zip文件,我们有一个包含所有必需jar的文件夹。 但是我想和Maven在一起。我需要检查哪些是此Hibernate版本所需的库,然后在中手动添加它们吗? 有没有办法只添加hibernate和Maven来添加所有必需的库本身? 问题答案: 如果要将JPA与Hibernate一起使用,则只需一个Maven依赖项。请参考下载页面: 这种依赖关系会将所有必