Я сейчас работаю на веб-сервисах.У меня есть работающая служба 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();
}
}
}
}
Локально работает (база данных и сервер находятся на моей локальной машине), но я понятия не имею, какподход слияния базы данных с сервисом.Должен ли я развернуть базу данных на сервер также?Был бы очень благодарен за любой намек в правильном направлении.