[Seasar-user:2312] PostgreSQL の シーケンス値取得

Yuumi yuumi3
2005年 6月 30日 (木) 15:56:44 JST


おつかれさまです、
Yuumi です。

PostgreSQLのシーケンス値の取得は S2 ではどのようにするのがスマートなのでしょうか?

宜しくお願いいたします。

シーケンス値の取得SQL:   SELECT nextval('xxxxx_id_seq')

とりあえず、S2JDBC で以下のようにしてますが・・・ あんまりスマートではないような・・・


    <component name="selectGlobalSeqHandler"
        class="org.seasar.extension.jdbc.impl.BasicSelectHandler">
        <property name="sql"> "SELECT nextval('xxxxx_id_seq')" </property>
        <property name="resultSetHandler">
            <component class="org.seasar.extension.jdbc.impl.ObjectResultSetHandler">
            </component>
        </property>
    </component>


	public int getNewId() {
        S2Container container = SingletonS2ContainerFactory.getContainer();
        container.init();
        Object seq = null;
        try {
            SelectHandler handler =
                (SelectHandler) container.getComponent("selectGlobalSeqHandler");
            seq =  handler.execute(null);
         } finally {
            container.destroy();
        }
		
		return  Integer.valueOf(seq.toString()).intValue();
	}


♪♪♪  吉田 裕美 (Yuumi Yoshida)




Seasar-user メーリングリストの案内