私のxx.hbm.xmlファイルに私はこれを書きました:
<class name="com.xxx.model.PosDataBDEntryBean" table="BD_Trans">
<id name="id" column="id">
<generator class="native"></generator>
</id>
<many-to-one name="itemCode" class="com.xxx.model.BDMasterBean" fetch="join" lazy="false">
<column name="item_code"/>
</many-to-one>
<property name="transDate" column="trans_date" />
</class>
そして、com.xxx.model.BDMasterBeanクラスと主キーとしてのitemcodeとの関係を持つ別のテーブルbd_itemがあります。
そして、私のDAOクラスでは、次のコード行を記述しました。
Criteria criteria = session.createCriteria(PosDataBDEntryBean.class);
criteria.add(Restrictions.eq("transDate",cDate)).add(Restrictions.eq("location", "BD"));
posBDEntryGridList = criteria.list();
bd_itemとbd_transの2つのテーブルがあります。bd _itemには10進数のないitem_codesがあり、bd_transには10進数と非10進数のアイテムがあります。これらの2つのテーブルを結合して、一致する行を取得するにはどうすればよいですか。「指定された識別子を持つ行が存在しません:com.xxx.model.BDMasterBean#1189.0」という例外が発生します。これを解決する方法は?