我被迫使用某个 NLS_LANGUAGE 来访问数据库,并且不想更改 user.locale 以避免影响应用程序的其余部分。这样的事情可以做还是会导致意想不到的问题?
另外,会议的范围有多大?这会仅影响单个查询,还是使用相同 entityManager 的每个调用,甚至整个应用程序?
@Stateless
@Local
public class myDAOImpl implements MyDAO{
@PersistenceContext(unitName = "MyUnit" )
protected EntityManager em;
public List<Object> getSomeData(){
em.createNativeQuery("alter session set nls_language = 'AMERICAN'").executeUpdate();
Query q = em.createNativeQuery("Select * from my_view");
return q.getResultList();
}
}