嘿伙计们,我的目标是使用取决于正在使用的数据库的属性创建一个 EntityManager。我在所有的谷歌搜索中都看到过类似的事情(为了这个问题,我使代码更基本):
@PersistenceUnit
private EntityManagerFactory emf;
private EntityManager em;
private Properties props;
@PostConstruct
public void createEntityManager(){
//if oracle set oracle properties else set postgres properties
emf = Persistence.createEntityManagerFactory("app-x");
em = emf.createEntityManager(props);
}
这可行,我可以成功加载 Oracle 或 Postgres 属性,并且可以从任一数据库中进行选择。但是,我在执行 INSERT 语句时遇到了问题。每当插入完成时,我都会得到一个重复的主键异常......每次!谁能解释为什么会发生这种情况?谢谢-布拉德