Continuando a saga…
Eu tou com dúvidas sobre o controle de transações.
Eu tenho a classe:
[code] Resource resource = new FileSystemResource(“applicationContext.xml”);
BeanFactory fa = new XmlBeanFactory(resource);
PessoaDao pd = (PessoaDao)fa.getBean("pessoaDao");
Pessoa p = new Pessoa();
p.setNome("Tio Chico");
pd.save(p);
AlunoDao ad = (AlunoDao) fa.getBean("[b]BeanQueNaoExiste[/b]");
Aluno a = new Aluno();
a.setNome("Tio Bastião");
ad.save(a);[/code]
MAS,
olhando na tabela, o Tio Chico ESTÁ na tabela e o Tio Bastião NÃO está.
Lógico, Quando fui carregar um BeanQueNaoExiste deu erro…
Mas, e ai? Fica assim?
Meu config é o mesmo da outra dúvida:
[code]
(…)
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="datasource"/>
<property name="mappingResources">
<list>
<value>Pessoa.hbm.xml</value>
<value>Aluno.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.FirebirdDialect</prop>
</props>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="pessoaDao" class="hibernate.PessoaDao">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="alunoDao" class="hibernate.AlunoDao">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
[/code]
Como eu configuro o spring pra que ele controle as transações?
Essa parte da transação eu que tenho que olhar?
Na web eu posso botar um filtro e resolver… mas, é o ideal?
E se der erro?
Gente gente…
Tou cheio das dúvidas…
Qto mais documentação eu leio… mais dor de cabeça tenho… mais dúvidas…
p.s.:
assim também não funciona:
[code] SessionFactory sf = (SessionFactory) fa.getBean(“sessionFactory”);
Transaction tr = sf.openSession().beginTransaction();
PessoaDao pd = (PessoaDao)fa.getBean("pessoaDao");
Pessoa p = new Pessoa();
p.setNome("Tio Chico");
pd.save(p);
AlunoDao ad = (AlunoDao) fa.getBean("[b]BeanQueNaoExiste[/b]");
Aluno a = new Aluno();
a.setNome("Tio Bastião");
ad.save(a);
tr.commit();[/code]