Существуют User
, Person
и Employee
сущности.
User
знает обо всех параметрах Person
и Employee
.
hibernate для пользователя:
...
<many-to-one name="person" class="entry.Person" column="perid" not-null="true" cascade="all"/>
<many-to-one name="employee" class="entry.Employee" column="empid" not-null="true" cascade="all"/>
...
DAO:
public List<User> getUsers() {
return getHibernateTemplate().find("from User");
}
При выборке пользователей с getUsers()
эти данные Person
и Employee
равны NULL
.
Я пропустил некоторые .hbm
Конфигурация или я должен вручную добавить дополнительные подвыборы к DAO
?
РЕДАКТИРОВАТЬ
контекст:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
...
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean id="userDao" class="dao.UserDaoHibernate">
<property name="factory">
<ref local="sessionFactory"/>
</property>
</bean>
dao:
private SessionFactory factory;
public void setFactory(SessionFactory factory) {
this.factory = factory;
}
@Transactional
public List<User> getUsers() {
Session s = this.factory.getCurrentSession();
...
получил No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
, при попытке выполнить getCurrentSession()