使用 Hibernate 在 SAP Hana 2.0 中插入行

Inserting row in SAP Hana 2.0 with Hibernate

我正在尝试使用 Scala 代码中的 Hibernate 在 SAP Hana 2.0 数据库中插入一行。 table 有一个标识列。

这是table:

CREATE column TABLE banks (
  sk tinyint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
  code varchar(10) DEFAULT NULL,
  name varchar(100) DEFAULT NULL,
  notes text,
  version smallint DEFAULT NULL,
  PRIMARY KEY (sk)
);

这是带注释的 Hibernate class:

@Entity
@Table(name = "banks")
class BankHib {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    var sk: Int = _

    var code: String = _
    var name: String = _
    var notes: String = _
    var version: Int = _
}

这是插入代码:

    session.beginTransaction
    val b = new BankHib
    b.code = "B3"
    b.name = "xxxxx"
    b.version = 1
    b.notes = "aaa"
    session.save(b)
    session.getTransaction.commit

这是我遇到的错误:

Hibernate: insert into banks (code, name, notes, version) values (?, ?, ?, ?)

[warn] o.h.e.j.s.SqlExceptionHelper - SQL Error: -11262, SQLState: 0A000 [error] o.h.e.j.s.SqlExceptionHelper - Method prepareStatement( String, int ) of Statement is not supported. [error] application -

如何进行这项工作?

这是创建序列号作为标识的方法:

@Entity
@Table(name = "banks")
class BankHib {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "bank_generator")
    @SequenceGenerator(name="bank_generator", sequenceName="bankSeq", allocationSize=1)    
    var sk: Int = _

    var code: String = _
    var name: String = _
    var version: Int = _
}

并执行下面的SQL语句:

CREATE SEQUENCE bankSeq start with 1 increment by 1 minvalue 1