// LoginDAO、DBにUI値を保存するためのロジックが...新しい値が追加取得され、古い値が同じ値が複数回
System.out.println("In Vendor registration i.e LoginDAO class::::::::::"+vendorRegistration.getVid()+""+""+vendorRegistration.getFirstName());
Session session = getSession();
session.beginTransaction(); //begin transaction for the session.
Query query = session.createQuery("UPDATE VendorRegistration set firstName =:firstname,lastName =:lastname,Email =:email,password =:password,Vid =:vid ");
query.setParameter("firstname",vendorRegistration.getFirstName());
query.setParameter("lastname",vendorRegistration.getLastName());
query.setParameter("email",vendorRegistration.getEmail());
query.setParameter("password",vendorRegistration.getPassword());
query.setParameter("vid",vendorRegistration.getVid());
int user = query.executeUpdate();
session.save(vendorRegistration);
System.out.println("user values are ::::::::::::::::::"+user);
session.getTransaction().commit(); //here transaction complete with commit the data in db.
session.close();
// Controller class
@RequestMapping(value = {"/signup"}, method = RequestMethod.POST)
public String saveRegAction(@ModelAttribute("signup") @Validated VendorRegistration vendorRegistration, Model model,HttpSession session,BindingResult bindingResult) throws IOException
{
System.out.println("the object is:" + model);
if(bindingResult.hasErrors())
{
logger.info("user details===========" +vendorRegistration.getFirstName()+""+vendorRegistration.getLastName()+""+vendorRegistration.getVid()+""+vendorRegistration.getEmail()+""+vendorRegistration.getPassword());
logger.info("Returning home.jsp page");
model.addAttribute("vendor", new VendorRegistration());
return "signup";
}
loginService.saveNewUser(vendorRegistration);
session.setAttribute("vendorRegistration", vendorRegistration);
logger.info("in registration page........... save register action");
return "vendorLogin";
を交換される//値が保存されている複数回のDBに追加取得しています古い値を保持し、DB
に新しい値を保存![これはDBの問題である] [1] [1]
// POJOクラス
@Entity
@Table(name = "VendorRegistration")
public class VendorRegistration {
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "VID")
private String vid;
@NotBlank
@Column(name = "FIRSTNAME")
private String firstName;
@Column(name = "LASTNAME")
private String lastName;
@Column(name = "EMAIL")
@Email(message="Please Enter Valid Email ID")
private String email;
@Column(name ="PASSWORD")
private String password;
//getters and setters
まず、クエリを実行していて、エンティティを保存していますか?あなたのクエリを削除し、isの実行。あなたは 'session.save(your-entity)'を使うべきです。また、エラーが発生した場合にモデルに新しいVendorRegistration()を追加しないでください。既に追加されています。再度追加しないでください。 –