Я использую Hibernate
с Oracle 11g. Код, который работал с 10g, не работает с 11g, потому что hibernate меняет регистр имени пользователя, например, с admin на ADMIN. Oracle 11g по умолчанию создает имена пользователей и пароли с учетом регистра. Я уже создал пользователя и множество объектов, прежде чем понял, что мой код:
Context initCtx = new InitialContext();
Context envCtx = (Context)initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/AdminDS");
Connection con = ds.getConnection();
Соединение не работает, потому что имя пользователя в базе данных — admin в нижнем регистре, а hibernate преобразует его в ADMIN в верхнем регистре.
Я пробовал несколько вещей .... включая создание соединения с именем пользователя в нижнем регистре, паролем; например, ds.getConnection("admin","password")....без игры в кости....любые идеи о том, как преобразовать имя пользователя в нижний регистр, потому что во время развертывания....