Ich versuche, eine Annotation basierend Hibernate-Konfiguration zu arbeiten.Spring + Hibernate: Unbekannte Einheit
applicationContext.xml
<!-- ============================= -->
<!-- DATASOURCE -->
<!-- ============================= -->
<bean name="logDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="${logs.ds.jndi.name}"/>
</bean>
<!-- ============================= -->
<!-- SESSION FACTORY -->
<!-- ============================= -->
<bean id="logSessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="packagesToScan" value="com.example.logs.persistence.entity"/>
<property name="dataSource" ref="logDataSource"/>
<property name="hibernateProperties">
<props>
<!-- dialect -->
<prop key="hibernate.dialect">${logs.ds.dialect}</prop>
<prop key="hibernate.connection.useUnicode">true</prop>
<prop key="hibernate.connection.charSet">UTF-8</prop>
<!-- schema -->
<prop key="hibernate.default_schema">${logs.ds.default_schema}</prop>
<!-- logging debug information -->
<prop key="hibernate.show_sql">${logs.ds.debug}</prop>
<prop key="hibernate.format_sql">${logs.ds.debug}</prop>
<prop key="hibernate.generate_statistics">${logs.ds.debug}</prop>
<prop key="hibernate.use_sql_comments">${logs.ds.debug}</prop>
<prop key="configurationClass">org.hibernate.cfg.AnnotationConfiguration</prop>
</props>
</property>
</bean>
<bean id="logTransactionManager"
class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="logSessionFactory"/>
</bean>
LogsConfiguration.java
package com.example.logs.persistence.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "logs_configuration")
public class LogsConfiguration {
// ...
}
Das Problem ist, wenn ich versuche, eine LogsConfiguration
mit meinem DAO zu speichern, erhalte ich diese Fehlermeldung:
Caused by: org.hibernate.MappingException: Unknown entity: com.example.logs.persistence.entity.LogsConfiguration
at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:776)
at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1533)
at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:104)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:192)
at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:38)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:177)
at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:32)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:73)
at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:682)
at org.hibernate.internal.SessionImpl.save(SessionImpl.java:674)
at org.hibernate.internal.SessionImpl.save(SessionImpl.java:669)
at com.example.logs.persistence.dao.impl.AbstractDaoImpl.create(AbstractDaoImpl.java:125)
Wo bin ich falsch gelaufen? Alles scheint in Ordnung zu mir (ich bin mit den javax.persistence
Anmerkungen)
Verwenden Sie Hibernate 5? –
@ v.ladynev ja Ich benutze Hibernate '5.1.0.Final' – Kawada