hibernate映射中的混淆

时间:2010-02-18 14:33:38

标签: hibernate

您好我是hibernate技术的新手,我几乎没有问题。

假设有两个表。例如:

Table1 
    table1_ID
    table1_value

Table2
    table2_ID 
    table2_name

如果table1_ID是table1的主键和(table2_ID和table2_name) - table2的主键。

Table2的table2_ID引用Table1的table1_ID(在hibernate一对多映射中)

我有table1_ID的序列生成器。如果我尝试插入,我将仅为table1_value和table2_name提供值。那么现在为table1_ID创建的序列是否会被分配给table2_ID?因为我收到错误声明“null无法插入table2.ID”。如何解决这个问题?

然后删除...如果我删除gethibernatetype().delete(objectofTable1) ....它再次抛出我的错误

 SQL Error: 2292, SQLState: 23000 
[ERROR] 2010-02-18 19:58:37 (JDBCExceptionReporter.java:logExceptions:78) 
 ORA-02292: integrity constraint  violated - child record found

[ERROR] 2010-02-18 19:58:37 (AbstractFlushingEventListener.java:performExecutions:301) 
 Could not synchronize database state with session 
org.hibernate.exception.ConstraintViolationException: could not delete:

我也设置了ondelete=cascade。怎么解决这个问题?

1 个答案:

答案 0 :(得分:0)

在你的映射中你有一个集合。您必须将其设置为cascade=all(或者如果使用注释 - cascade=CascadeType.ALL