Hibernate中的Identity Generator与Sybase

时间:2010-12-29 04:53:38

标签: java hibernate select generator sybase-ase

我正在使用带有Sybase ASE数据库的hibernate 3.5。我在表Table中有一个主键PK1。 我使用select生成器类来生成主键。

<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类。

请帮助!

此致 Dwarak

1 个答案:

答案 0 :(得分:0)

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