Java 使用select中的%rowtype,然后使用sys\U REF光标进行输出。 @Entity @Table(name = "BOOKING", schema = "QMS_MODEL") @NamedNativeQueries({ @Na
使用select中的%rowtype,然后使用sys\U REF光标进行输出。Java 使用select中的%rowtype,然后使用sys\U REF光标进行输出。 @Entity @Table(name = "BOOKING", schema = "QMS_MODEL") @NamedNativeQueries({ @Na,java,oracle,hibernate,cursor,Java,Oracle,Hibernate,Cursor,使用select中的%rowtype,然后使用sys\U REF光标进行输出。 @Entity @Table(name = "BOOKING", schema = "QMS_MODEL") @NamedNativeQueries({ @NamedNativeQuery(name = "booking.callNext.Oracle", query = "call GET_BOOKING(?,:bookingId)", callable = true, re
@Entity
@Table(name = "BOOKING", schema = "QMS_MODEL")
@NamedNativeQueries({
@NamedNativeQuery(name = "booking.callNext.Oracle",
query = "call GET_BOOKING(?,:bookingId)",
callable = true,
resultClass = Booking.class)
})
public class Booking implements Serializable {
..
..
}
long bookingID=...some value
Query q = entityMng.createNamedQuery("booking.callNext.Oracle");
q.setParameter("bookingId", bookingID);
List results = q.getResultList();
if (results!=null && !results.isEmpty()) {
Booking eBooking = (Booking) results.get(0);
..
..
..
..i want use some booking data here....
..but i can't because the cursor is closed
}
CREATE OR REPLACE PROCEDURE GET_BOOKING
( refCursorValue OUT SYS_REFCURSOR,
bookingId IN QMS_MODEL.booking.id%type )
AS
rowids dbms_debug_vc2coll;
begin
update qms_model.booking bb
set bb.call_time = sysdate
where bb.id = bookingId
returning rowidtochar(rowid) bulk collect into rowids;
open refCursorValue for
select *
from qms_model.booking bbto
where rowid in ( select chartorowid(column_value) from table(rowids));
end;
/