EJB的relationship相关问题
大家好,我现在遇到这样一个问题,我数据库中有三张表,表名分别为Tb_Ztu(状态图表),Tb_Ztuxm(状态图项目表),Tb_Sjd(数据点表)。这三张表的关系是:状态图上有很多状态图项目,每一个状态图项目对应一个数据点。我现在要查询属于状态图序号为xxxx的数据点。用普通的SQL语句写出来应该是这样的:select * from tb_sjd where fd_sjdxh in(select fd_sjdxh from tb_ztuxm where fd_ztuxh = 'xxxx');
我现在为Tb_Ztuxm,Tb_Sjd这两张表做好好了实体Bean,并在表Tb_Sjd的实体Bean中加了一个relationship 。为TbSjd实体Bean加了一个Finder方法。其中的EJBQL为:SELECT OBJECT(o) FROM TbSjd o , IN (o.tbZtuxm) p WHERE p.fdZtuxh = ?1。我在测试程序中调用了该实体bean的finder方法。结过和用上面写的Sql语句出来的结果不一样,数目要多很多,其中有很多重复的记录,请问各位这到底是什么原因。我用的开发工具是J9+Weblogic7.0。我要实现上面的Sql查询,我应该怎么去设置TbSjd的relationship。