Как правильно прикрепить базу данных к сервису Restfull, развернутому на сервере Glassfish? - PullRequest
0 голосов
/ 20 декабря 2018

Я сейчас работаю на веб-сервисах.У меня есть работающая служба REST.Он работает с простым списком POJO и раскрывает CRUD-операции этого списка.Она развернута на Glassfish через артефакт, созданный InelliJ (война).Теперь я хотел бы подключить его к базе данных MySQL через Hibernate.Я создал простой тестовый проект и смог внести изменения в базу данных с помощью отображения Hibernate.Мой POJO:

 @Entity
    @Table(name = "user_table")
    public class User {
        @Id
        @Column(name = "user_id")
        private int userid;
        @Column(name = "user_name")
        private String username;
        @Column(name = "created_by")
        private String createdBy;
        @Column(name = "created_date")
        private Date createdDate;
        public int getUserid() {
            return userid;
        }
        public void setUserid(int userid) {
            this.userid = userid;
        }
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
        this.username = username;
    }
    public String getCreatedBy() {
        return createdBy;
    }
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }
    public Date getCreatedDate() {
        return createdDate;
    }
    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }
}

Класс, который подключается к базе данных.

package com.jcg.hibernate.maven;

import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class AppMain {
    static User userObj;
    static Session sessionObj;
    static SessionFactory sessionFactoryObj;
    private static SessionFactory buildSessionFactory() {
        return new Configuration().configure().buildSessionFactory();
    }
    public static void main(String[] args) {
        System.out.println(".......Hibernate Maven Example.......\n");
        try {
            sessionObj = buildSessionFactory().openSession();
            sessionObj.beginTransaction();
            for(int i = 101; i <= 105; i++) {
                userObj = new User();
                userObj.setUserid(i);
                userObj.setUsername("Editor " + i);
                userObj.setCreatedBy("Administrator");
                userObj.setCreatedDate(new Date());
                sessionObj.save(userObj);
            }
            System.out.println("\n.......Records Saved Successfully To The Database.......\n");
            sessionObj.getTransaction().commit();
        } catch(Exception sqlException) {
            if(null != sessionObj.getTransaction()) {
                System.out.println("\n.......Transaction Is Being Rolled Back.......");
                sessionObj.getTransaction().rollback();
            }
            sqlException.printStackTrace();
        } finally {
            if(sessionObj != null) {
                sessionObj.close();
            }
        }
    }
}

Локально работает (база данных и сервер находятся на моей локальной машине), но я понятия не имею, какподход слияния базы данных с сервисом.Должен ли я развернуть базу данных на сервер также?Был бы очень благодарен за любой намек в правильном направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...