spring + hibernate에서 일반적인 오류가 발생했지만 해결할 수 없습니다. 나는 2 개 테이블이 일대 관계 :봄 OpenSessionInViewFilter : 개체를 저장할 수 없습니다.
<class name="Bsc" table="bsc">
<id name="id" column="id">
<generator class="native" />
</id>
<property name="name" />
<set name="cells">
<key column="bsc_id" />
<one-to-many class="Cell" />
</set>
</class>
<class name="Cell" table="cell">
<id name="id" column="id">
<generator class="native" />
</id>
<property name="name" column="name" />
<many-to-one name="bsc" column="bsc_id" not-null="true" />
</class>
내 DAO :
public class BscDaoImpl extends HibernateDaoSupport implements BscDao {
@Override
public Bsc get(int id) {
return (Bsc) getHibernateTemplate().get(Bsc.class, id);
}
@Override
public void save(Bsc bsc) {
getHibernateTemplate().saveOrUpdate(bsc);
}
}
내 컨트롤러 :
각 BSC 많은 셀내 최대 절전 모드 설정을
public class BscFormController extends SimpleFormController {
private BscDao bscDao;
public void setBscDao(BscDao bscDao) {
this.bscDao = bscDao;
}
protected Object formBackingObject(HttpServletRequest request)
throws Exception {
String id = request.getParameter("id");
if (!StringUtils.isBlank(id)) {
return bscDao.get(new Integer(id));
}
return new Bsc();
}
public ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
Bsc bsc = (Bsc) command;
String success = getSuccessView();
bscDao.save(bsc);
return new ModelAndView(success);
}
}
보시려면, bsc 정보를 작성/편집 할 수있는 양식이 있습니다. 또한, 나는이 BSC의 모든 셀을 나열하려면, 그래서 web.xml의 게으른 부하를 config (설정)
<filter>
<filter-name>openSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>flushMode</param-name>
<param-value>AUTO</param-value>
</init-param>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>mySessionFactory</param-value>
</init-param>
</filter>
내 문제 : 나는 제거하면 저장을 누릅니다 버튼 (이 확인 저장할 때 내가 객체를 저장할 수 없습니다 OpenSessionInViewFilter 설정).
나는 TransactionManager에의 설정 추가 :
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="mySessionFactory"/>
</bean>
를하지만 여전히 작동하지 않습니다. 내가 뭐 놓친 거 없니 ?
는 내가 제이 보스 서버를 사용 및 제이보스의 최대 절전 모드로 주석 충돌을 최대 절전 모드. xml config (?)보다 주석이 느린 것을 볼 수 있습니다. – QuanNH
TransactionManager 설정을 추가했습니다. 하지만 여전히 작동하지 않습니다. 나는 무엇인가 놓친다? –
QuanNH