0

我正在使用带有 Sybase ASE 数据库的休眠 3.5。我的表表中有一个主键 PK1。我使用选择生成器类来生成主键。

<id name="pk1" type="java.math.BigInteger">
            <column name="PK_ID" />
              <generator class="select">
                  <param name="key">unique</param>
              </generator>
</id>

我还有一个使用 PK_ID 作为外键但不是主键的类。我将它的映射保留为,

<property name="PK_ID1" type="java.math.BigInteger">
            <column name="SHIP_EVENT_ID" length="23" not-null="false" />
</property>

当我使用身份生成器时,这似乎工作正常。但是当我将其更改为选择生成器时。它向我显示约束违反异常。尽管正在生成新值并将其设置为第二个表的 pojo 类。

请帮忙!

问候, 德瓦拉克

4

1 回答 1

0

在后端使用像 ASE 这样的引擎,使用一些 OO 前端来进行 DDL 更改并不是一个好主意。当然,这是前端的一个错误,但这不是唯一的。更重要的是,您只能访问大约 5% 的 Sybase 功能。为什么不使用 ASE 免费提供的 Sybase Client 软件。SybaseCentral 用于所有 DDL 和管理任务,InteractiveSQL 用于所有 SQL 任务(DML、存储过程、测试 SQL)。它不仅更直接,而且开发时间也快得多设置并测试对象后,使用您喜欢的任何前端对这些对象执行命令(存储过程或测试 SQL)。

于 2011-01-19T10:39:56.933 回答