Auto-Inkrementierung mit HSQLDB (2.2.8) + DDLUtils

Will ich mit HSQLDB als eingebettete Datenbank, aber ich habe Mühe, es zu auto-Inkrement -.

Soweit ich das verstanden habe, [CALL] IDENTITY() können verwendet werden, um den letzten Wert des Primärschlüssels. Allerdings Experimente sowohl durch iBatis und HSQLDB ist DatabaseManagerSwing immer wieder ein 0-Wert.

Wie kann ich die auto-Inkrementierung für die Arbeit mit HSQLDB?

Edit:

Ich nicht erwähnen, dass ich mit DDLUtils zur automatischen Generierung von Tabellen. Die folgenden nicht Anzug HSQLDB:

<?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database.dtd">

<database name="testdb">

    <table name="users">
        <!-- using autoincrement attribute below causes
        "primary key already exists" exception -->
        <column name="id" type="INTEGER" primaryKey="true" />
        <column name="username" type="VARCHAR" size="30" />
        <column name="password" type="VARCHAR" size="100" />
    </table>

</database>

Auch hier ist die iBatis SQL-Karte verwendet werden, für die domain-Klasse:

<insert id="insertUser" parameterClass="user">
    <selectKey keyProperty="id" resultClass="int">
        CALL IDENTITY()
    </selectKey>
INSERT INTO USERS
( USERNAME, PASSWORD ) 
VALUES
( #username#, #password#)       
</insert>
InformationsquelleAutor James P. | 2012-02-19
Schreibe einen Kommentar