データベースへのアクセスに特定の NLS_LANGUAGE を使用せざるを得ず、残りのアプリケーションに影響を与えないように user.locale を変更したくありません。このようなことをしても大丈夫ですか、それとも予期しない問題を引き起こす可能性がありますか?
また、セッションの範囲はどのくらいですか? これは、この単一のクエリのみに影響しますか、それとも同じエンティティ マネージャーを使用する各呼び出し、またはアプリケーション全体に影響しますか?
@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();
}
}