Я участвую в обучении использовать Spring & спящий режим. Теперь я сталкиваюсь с некоторыми проблемами со многими и многими отношениями в спящем режиме. Мои данные не сохраняются в таблице jon. Я не знаю, почему. Пожалуйста, помогите мне.
У меня есть два класса домена вызова Проекты & Технология.
это мои отображения в этих двух классах
класса проекта: -Hibernate Многие для многих отношений не работают
@ManyToMany
@JoinTable(name="project_technology",
joinColumns={@JoinColumn(name="projectId")},
inverseJoinColumns={@JoinColumn(name="technologyId")})
public List<Technology> getTechnology() {
return technology;
}
класс технологии: -
@ManyToMany
@JoinTable(name="project_technology",
joinColumns={@JoinColumn(name="technologyId")},
inverseJoinColumns={@JoinColumn(name="projectId")})
public List<Projects> getProjects() {
return projects;
}
в моем DAO слое
getSession().beginTransaction();
getHibernateTemplate().save(projects);
getHibernateTemplate().clear()
Используется для сохранения данных. Он не показывает ошибки, но данные не сохраняются в таблице соединений.
Когда я использую
Session session = getSession();
Transaction transaction = session.beginTransaction();
session.save(projects);
transaction.commit();
session.close();
сохранить, данные правильно сохранить в table.but присоединиться после сохранения Im получает эту ошибку
org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transaction; nested exception is org.hibernate.TransactionException: Transaction not successfully started
Моей applicationContext.xml
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="hibernateDataSourse" />
<property name="annotatedClasses">
<list>
<value>com.sla.tecprof.domain.Technology</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<bean id="transactionProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true" lazy-init="true">
<property name="transactionManager" ref="hibernateTransactionManager" />
<property name="transactionAttributeSource" ref="transactionAttributeSource" />
<property name="preInterceptors">
<list>
<ref bean="exceptionInterceptor" />
<ref bean="TransactionPointCutAdvisor" />
</list>
</property>
<property name="postInterceptors">
<list>
<ref bean="hibernateInterceptor" />
</list>
</property>
<property name="proxyTargetClass" value="true" />
</bean>
Это не похоже, многие-ко-многим вопрос. Проверьте свой сервисный уровень, он аннотируется Transactional, если нет, то аннотируйте его. –
Благодарим за комментарий. Осталась та же проблема sir – SkyMicro
Тогда ваш конфиг неправильный, потому что это не проблема с отображением. –