Hibernate中一张表定义两个外键,应该怎么写

xdfyy520 2006-11-23 10:32:15
如题
A表结构:id (主键), bc_id(B表外键或C表外键),type(如果等于1时bc_id为B表外键,等于2为C表外键).
B表结构:id (主键) a_id ....
C表结构:id (主键) a_id ....
A表对B表或C表都是多对一

在添加是总是报nested exception is java.sql.BatchUpdateException: ORA-02291: 违反完整约束条件 .... - 未找到父项关键字

请问应该怎么写?
...全文
428 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaobo80968096 2006-11-28
  • 打赏
  • 举报
回复
这A表怎么这么费劲,还不如直接定义b_id、c_id。
hibernate主要是用面向对象的思想来设计类和数据库的。应该是先设计抽象类和之间的关系再生成表,你这个问题用jdbc比较好操作。直接用session的session.getConnection()再用jdbc操作sql吧。
billchang010 2006-11-27
  • 打赏
  • 举报
回复
myeclipse或jbuilder好像都可以自动生成。
lujh99 2006-11-23
  • 打赏
  • 举报
回复
使用hibernate中的any映射
xdfyy520 2006-11-23
  • 打赏
  • 举报
回复
怎么引用不存在的值呀,只能对一张表进行添加,就是A表多对一B表或着A表多对一C表
awusoft 2006-11-23
  • 打赏
  • 举报
回复
应该是插入的顺序问题吧,引用一个不存在的值
wst0350 2006-11-23
  • 打赏
  • 举报
回复
支持
zling1981 2006-11-23
  • 打赏
  • 举报
回复
使用工具来生成吧,工具会帮你在配置文件里生成两个对应的外键的配置的,可以使用myeclipse。
例如:
<composite-id name="id" class="com.IndentAppDetailId">

<key-property name="indAppNo" type="string">
<column name="IndAppNo" length="8" />
</key-property>
<key-property name="itemCode" type="string">
<column name="ItemCode" length="8" />
</key-property>
</composite-id>

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧