休眠 - 扫描实体
我入门级的Java开发人员,我有项目,Hibernate和属性文件hibernate.cfg.xml
这样休眠 - 扫描实体
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/account?useSSL=false</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping class="ua.com.vtkachenko.entity.Group"></mapping>
<mapping class="ua.com.vtkachenko.entity.Movement"></mapping>
<mapping class="ua.com.vtkachenko.entity.Product"></mapping>
<mapping class="ua.com.vtkachenko.entity.Description"></mapping>
</session-factory>
</hibernate-configuration>
如何设置实体类的自动扫描并删除此行?
<mapping class="ua.com.vtkachenko.entity.Group"></mapping>
<mapping class="ua.com.vtkachenko.entity.Movement"></mapping>
<mapping class="ua.com.vtkachenko.entity.Product"></mapping>
<mapping class="ua.com.vtkachenko.entity.Description"></mapping>
当你定义在Spring上下文文件sessionfactory
豆,你可以使用packagesToScan
财产和@Entity
注解来实现这一目标。
代码片段:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
... //other properties
<property name="packagesToScan" value="ua.com.vtkachenko.entity">
../other properties
</bean>
现在写@Entity
标注实体类以上。你的实体类也应该有@Column
注解来映射表列。
希望它有帮助。如果您有任何问题,请告诉我。
我插入此为我的应用程序-context.xml中,并在线程“主要” org.hibernate.MappingException得到错误 _Exception:未知实体:ua.com.vtkachenko.entity.Group \t在org.hibernate.impl .SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:548)..............._ – Vlad
我认为在Spring中使用Hibernate的时候解决这个问题是正确的方法。 在我的例子中,我有这样的项目结构 。 – Vlad
我建议你学习而不是这个:Spring引导和JPA。
如果您的目标只是学习,恕我直言,它会为您节省很多头痛。
问候
Spring Boot和JPA确实提供了一个非常简洁的快速入门,但是随着注入和调试Spring(春天非常庞大而压倒性的),我得到了严重的头痛。我最终放弃了,并且完全停止使用Spring和JavaEE,并转移到:https://github.com/mvysny/vaadin-on-kotlin(免责声明 - 我是作者) –
或者,如果你不想使用Spring,这里是对JavaSE的纯Hibernate的一个解决方案 - 这将扫描整个classpath中JPA实体:https://stackoverflow.com/a/41845759/377320
从DTD:''so'' –
2016-12-05 12:37:19
我替换代码片段: ' ' 通过 ''但仍不很工作。 @RC –
Vlad