Я работаю с EJB / JPA и создал статический метод createDataset, который будет искать объект Dataset.Каждый раз, когда мне нужно вставить, обновить, удалить и т. Д. Сущность, я получаю объект DatasetObject, вызывающий DatasetFactory.createDataset (), и вызываю соответствующий метод (вставка, обновление и т. Д.).
Коды:
public class DatasetFactory {
public static Dataset createDataset() {
try {
return (Dataset) new InitialContext().lookup("java:global/.../Dataset");
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
}
public interface Dataset<T> {
void insert(T entity);
//...
}
@Stateless
@EJB(name = "java:global/.../Dataset", beanInterface = Dataset.class)
public class DatasetBean<T> implements Dataset<T> {
@PersistenceContext(type = PersistenceContextType.TRANSACTION)
private EntityManager entityManager;
@Override
public void insert(T entity) {
entityManager.persist(entity);
}
//...
}
Могу ли я иметь проблемы с безопасностью потоков при использовании этого подхода?Если да, то какие модификации я должен сделать?Должен ли я поместить синхронизированный модификатор в DatasetFactory.createDataset ()?
Большое спасибо!