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