코드에서 자동 증가 필드를 관리해야합니다. 나는 이것을 위해 저장 프로 시저를 작성하기로 결정했다. 아이디어는 새로운 행을 삽입하고 자동으로 증가 된 값을 Java에 반환하는 프로 시저를 가지므로 더 이상 작업 할 수 있습니다. 다음은 내가 지금까지 가지고있는 것이다. 나는 그 모든 것을 가능하게하기 위해 공백을 채우기 위해 무엇을 바꾸어야할지 모른다.최대 절전 모드 저장 프로 시저 결과
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE addNewMSO
@sourceApplication char(8),
@selectionStatusDate datetime = NULL,
@sysLstUpdtUserId char(10)
AS
BEGIN
SET NOCOUNT ON;
Declare @newVal int
SET @newVal = (select max(seqNo) from MemberSelectedOptions) + 1
INSERT INTO MemberSelectedOptions
([SourceApplication]
,[SeqNo]
,[SelectionStatusDate]
,[SysLstUpdtUserId])
VALUES
(@sourceApplication
,@newVal
,@selectionStatusDate
,@sysLstUpdtUserId)
END
GO
다음 Java 코드에서 다음과 같은 내용이 있습니다.
@NamedNativeQuery(name="addNewMSO",
query="exec addNewMSO :sourceApplication :selectionStatusDate :sysLstUpdtUserId", callable=true)
그리고 내 DAO는 이런 식으로 호출 ... 나는 "순수 네이티브 스칼라 쿼리는 아직 지원되지 않습니다"오류가 원인
Query q = session.getNamedQuery("addNewMSO");
q.setParameter("sourceApplication", mso.getSourceApplication());
q.setParameter("selectionStatusDate", mso.getSelectionStatusDate());
q.setParameter("sysLstUpdtUserId", mso.getSysLstUpdtUserId());
q.executeUpdate();
은 그렇다하더라도,이 작동하지 않습니다. 그래서 나는 다음에 어디로 가야할지 모른다. 나는 Hibernate 문서를 읽었지만 SP에서 반환 값을 얻는 방법을 모른다. 그러나 나는 아직도 그것을 심지어 부르지 않을 수있다. .. 우!
TIA 모든 도움.