До недавнего времени мы использовали последовательности Oracle для генерации идентификаторов таблиц. Теперь это изменено, новый идентификатор теперь вычисляется функцией Oracle. Это означает, что мое приложение нуждается в изменении, чтобы приспособиться к новой ситуации. Приложение представляет собой веб-приложение Spring / Hibernate, которое обращается к базе данных Oracle. Это было настроено в hbm.xml следующим образом:
<class name = "TableHib" table = "TABLENAME" >
<id name = "Id" type = "java.lang.Long">
<column name = "ID" precision = "22" scale = "0" />
<generator class = "sequence">
<param name = "sequence">SEQTABLE</param>
</generator>
</id>
Конечно, вопрос: как можно использовать результат функции Oracle для нового значения идентификатора?
Помощь очень ценится, заранее спасибо.




Можете ли вы написать класс Java, который может получать значение функции Oracle? Если это так, вы сможете определить этот класс Java как свой <generator class>.
Редактировать: Чтобы вызвать функцию Oracle из Java, посмотрите, работает ли это для вас: Вызов функций Java Oracle из программы Java и видим API Java CallableStatement
Гм ... последовательности существуют не просто так. Почему вы заменяете их функциональность функцией и что она делает?