首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Spring Boot中配置Hibernate AnnotatedClasses

如何在Spring Boot中配置Hibernate AnnotatedClasses
EN

Stack Overflow用户
提问于 2021-01-26 20:14:30
回答 1查看 96关注 0票数 0

我目前正在将一个旧的Spring项目转移到Spring boot。在旧项目中,我们在xml上下文中显式地初始化数据源和会话工厂。但是在迁移到Spring Boot之后,所有的事情都是通过Spring boot和application.properties实现的。

我的问题是,在没有显式创建/初始化数据源和sessionFactory的情况下,如何将annotatedClasses添加到hibernateSessionFactory?我可以通过application.properties完成吗?

下面是前一个上下文的样子:

代码语言:javascript
复制
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="annotatedClasses">
  <list>
    <value>com.example.myEntity</value>
  </list>
</property>

我们使用以下版本:

Spring: 5.1.15.Relase,Spring-Boot: 2.1.14.Relase,Hibernate: 5.4.15.Final

快速澄清:

因此,整个项目已经使用适当的注释进行了迁移。当我们在Dao中创建查询时,问题只出现在一个实例中。错误是该查询中引用的实体未映射。

查询创建如下所示:

代码语言:javascript
复制
getSession().createQuery("from TemplateImpl t");

我得到的错误是:

代码语言:javascript
复制
org.hibernate.hql.internal.ast.QuerySyntaxException: TemplateImpl is not mapped.

Dao用存储库注解,事务和实体(TemplateImpl)用Entity注解。

我是否仍然需要显式地将annotatedClasses添加到sessionFactory?如果不是,为什么我会得到这个错误?

EN

回答 1

Stack Overflow用户

发布于 2021-01-26 20:50:46

Spring Boot中使用基于Java的注释配置,可以通过以下方式自动管理数据访问:

application.propertie文件:

在此处定义访问数据库时所需的连接字符串和所有其他功能

@Repository接口:

通过提供本机CRUD功能,帮助简化访问数据库所需的样板程序的接口

@Entity类:

是一个在内存中表示表的类

link应该会对您有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65901187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档