mySQL - tworzenie tabeli przy rejestracji użytkownika

0

Witam,
jestem w trakcie pisania aplikacji w JavieEE, posiadam formularz rejestrowania użytkowników, dane są przechowywane w tabeli o nazwie user_details. Chciałbym zrobić tak, żeby dynamicznie w trakcie rejestrowania użytkownika tworzyła się dla niego odrębna tabela w której będą przechowywane dane związane z nim. Wiem, że powinienem użyć obiektu Query, ale nie wiem w którym momencie go użyć.

Poniżej metody odpowiedzialne za rejestracje:

     public boolean register(User user){
        Session session = HibernateUtil.openSession();
        if(isUserExists(user)) return false;        
        
        Transaction tx = null;        
        try {
            tx = session.getTransaction();
            tx.begin();
            session.saveOrUpdate(user);
            tx.commit();
        } catch (Exception e) {
            if (tx != null) {
                tx.rollback();
            }
            e.printStackTrace();
        } finally {
            session.close();
        }        
        return true;
    }
   protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String fName = request.getParameter("firstName");
        String mName = request.getParameter("middleName");
        String lName = request.getParameter("lastName");
        String email = request.getParameter("email");
        String userId = request.getParameter("userId");
        String password = request.getParameter("password");
        User user = new User(fName,mName,lName, email,userId, password);

        
        try {        
            RegisterService registerService = new RegisterService();
            boolean result = registerService.register(user); 
0

Nie kombinuj, tylko zrób to po ludzku. Nie tworzy się oddzielnych tabel dla każdego użytkownika aplikacji.

0

Czyli jeśli chce dodawać wydatki dla danego użytkownika - taka aplikacja, to np stworzyć tabele "wydatki" i jedno pole niech jest ID WYDATKU, które będzie powiązane relacją z ID użytkownika i na podstawie tego wyciągać dane dla poszczególnych użytkowników?

0

Nie. Jedno pole jest ID_Uzykownika i jest powiązane z tabelą Uzytkownicy.

0

ok, dzięki za pomoc

0

jednak mam kolejne pytanie: mam dwie tabele users i expenses, jak zrobić, jak ustawić relację, klucze tak by userID w tabeli expenses było równe userID w tabeli expenses? Czyli inaczej mówiąc, jak zrobić by dodając "wydatek" automatycznie userID dla danego wydatku było ustawiane jak numer userID, dla uzytkownika, który dodaje wydatki? Tak by wyświetlić wydatki dla jednego użytkownika, a jak się zaloguje jako inny i dodam wydatki, to wyświetli dla tego?

0

wdał się bład : *userID w tabeli expenses, ma być równe userID z tabeli users ->> czyli użytkownikowi który dodaje wydatek

0

Samo nic się nie doda. Wpisać musisz sam - referencje zadbają o to byś się nie pomylił.

1 użytkowników online, w tym zalogowanych: 0, gości: 1