Новое в базах данных. Возникла проблема, когда я хочу, чтобы каждый экземпляр приложения имел свою собственную базу данных. Попытка выяснить, как реализовать это с текущей настройкой ORM. В настоящее время используется постоянство Javax. У кого-нибудь есть решение этой проблемы?
SIMPLE : Хотите иметь уникальное имя для каждой таблицы
//thread safe
private EntityManagerFactory emf;
public ImageDAOManager(EntityManagerFactory emf) {
this.emf = emf;
}
....
@Entity
public class ImageDAO implements Serializable {
@Id
private String path;
private int fileSize;
private long date;
private int imageHeight;
private int imageWidth;
private double latitude;
private double longitude;
private String tags;
public ImageDAO(String path, int fileSize, long date, int imageHeight, int imageWidth, double latitude, double longitude) {
this.path = path;
this.fileSize = fileSize;
this.date = date;
this.imageHeight = imageHeight;
this.imageWidth = imageWidth;
this.latitude = latitude;
this.longitude = longitude;
this.tags = "";
}
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="LecturePU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>backend.database.ImageDAO</class>
<properties>
<!--username and password is temporarily here-->
<property name="javax.persistence.jdbc.url" value="" />
<property name="javax.persistence.jdbc.user" value="" />
<property name="javax.persistence.jdbc.password" value="" />
<!-- EclipseLink should create the database schema automatically -->
<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
<property name="eclipselink.ddl-generation.output-mode" value="database" />
</properties>
</persistence-unit>
</persistence>```