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

Hibernate-未从jar内扫描Spring带注释的实体

施招
2023-03-14
问题内容

我有一个包,其中包含带注释的实体类,我将其导入到Web项目中。当tomcat部署项目时,不会扫描jar中的实体类以查找注释。有没有办法告诉spring在jar文件中搜索带注释的类?即:

<context:component-scan base-package="{path to jar or something}"/>

问题答案:

如果您指的是带@Entity注释的类,<context:component- scan>则与它们无关。@Entity类是由Hibernate发现的,因此您需要配置Hibernate,而不是Spring。

如果您通过JPA使用Hibernate(即具有persistence.xml),则需要添加以下行persistence.xml以扫描/WEB- INF/lib/yourFileWithEntities.jar实体类:

<jar-file>lib/yourFileWithEntities.jar</jar-file>


 类似资料:
  • 问题内容: 我有几个需要用名称注释的类,因此我将注释定义为 现在,需要此注释的类定义为 我使用下面的代码来扫描注释 问题是返回的映射包含,但是我需要映射包含作为键,这是Annotation的值而不是bean名称。 有办法吗? 问题答案: 只需获取注释对象并提取值即可 让我知道是否不清楚。

  • 我对spring boot相当陌生,正在尝试使用Java持久性API hibernate mySQL持久性层构建spring boot应用程序。但当我试图使用entityManager获取所有记录时。createNamedQuery(“从学生s中选择*”,学生.class)。getResultList()它给了我以下异常。 Java语言lang.IllegalArgumentException:未

  • 问题内容: 一个运行了几个月的应用程序已经停止使用已经有几个月历史的JPA 批注。在进行集成测试时,我看到许多“ ”类型错误。 我不清楚这里出了什么问题。 我没有文件,因为我正在使用hibernate实体管理器。由于我仅使用注释,因此我的实体没有.hbm.xml文件。我的文件很小,可以正常保存。 我显然丢失了一些东西,但不能动弹。 我正在使用hibernate批注3.2.1,hibernate-e

  • 上面的getMetadataReader方法调用最终以 它使用ASM ClassReader访问类和注释元数据。这显然找不到ByteBuddy放置的@Entity注释。 我不确定我是否应该以某种方式将Classloader链接到Bytebuddy中,或者重写Springs SimpleMetadataReader,以使我自己的实现得到Bytebuddy的支持。 让我知道如果你想要更多的实现细节。我

  • 我在日志中收到一些警告,像这样: 在一个独立的tomcat中,我可以创建一个: 如何禁用清单文件的JarScanner(https://tomcat.apache.org/tomcat-8.0-doc/config/jar-scanner.html)在使用Spring Boot的java配置类中。

  • 问题内容: 我已经“继承”了一个项目,该项目使用Spring批注来管理Hibernate的事务/会话。或至少是注定的。当前,Hibernate会话永远不会被刷新(它们设置为FLUSH_MODE_NEVER),并且DAO需要手动刷新才能将任何数据写入数据库。 同样,所有DTO对象都驻留在hibernate的内存中,最终导致OutOfMemory错误。 我相信我需要告诉Spring / Hiberna