I can't seem to add values to my table. There is no error but the values aren't inserting in my database. After submitting the form, no errors would show up.
Upon looking at the console, this shows:
Hibernate:
insert
into
referral
(address, doctor_contact_no, doctor_name, facility_contact_no, facility_type, referral_no, referring_from, referring_to)
values
(?, ?, ?, ?, ?, ?, ?, ?)
I already tried logging, just in case my controller can't read the form i'm submitting.
Code Snippet of the Entity/Model i am saving
@Entity
@Table(name="referral")
public class Referrals {
@Id
@Column
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@Column
private String referral_no;
@Column
private String facility_contact_no;
@Column
private String referring_from;
@Column
private String referring_to;
@Column
private String facility_type;
@Column
private String address;
@Column
private String doctor_name;
@Column
private String doctor_contact_no;'
Code Snippet of my Services Class
@Service
@Transactional
public class ReferralServicesImpl implements ReferralServices{
@Autowired
private ReferralDao referralDao;
public List<Referrals> list(){
return referralDao.list();
}
public boolean saveReferral(Referrals referral){
if(referralDao.saveReferral(referral))
return true;
else
return false;
}
}
Code Snippet of the Controller Methods
@RequestMapping(value = "/teleaudiology/referral", method = RequestMethod.GET)
public ModelAndView showForm() {
return new ModelAndView("referrals", "referrals", new Referrals());
}
@RequestMapping(value = "/teleaudiology/referrals", method = RequestMethod.POST)
public String submit(@Valid @ModelAttribute("referrals")Referrals referral,
BindingResult result, ModelMap model) {
if (result.hasErrors()) {
return "error";
}
System.out.println("referral: "+referral.getDoctor_name());
if(referralServices.saveReferral(referral))
return "redirect:../teleaudiology";
else
return "redirect:../teleaudiology";
}
Here is the ReferralDao Class
public interface ReferralDao {
public boolean saveReferral(Referrals referral);
public List<Referrals> list();
}
ReferralDao impl
@Repository
@Transactional
public class ReferralDaoImpl implements ReferralDao {
@Autowired
SessionFactory session;
Transaction trans;
public boolean saveReferral(Referrals referral) {
// TODO Auto-generated method stub
//System.out.println("Saving..."+referral.getReferring_to_address());
trans=session.getCurrentSession().beginTransaction();
session.getCurrentSession().saveOrUpdate(referral);
return true;
}
public List<Referrals> list() {
// TODO Auto-generated method stub
return session.getCurrentSession().createQuery("from Referrals").list();
}
}
i tried using
trans=session.getCurrentSession().getTransaction();
but resulted to this error
`saveOrUpdate is not valid without active transaction`
Snippet from servlet-context.xml
<tx:annotation-driven transaction-manager="transactionManager" />
<beans:bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<beans:property name="sessionFactory" ref="sessionFactory" />
</beans:bean>