hibernate一対一注釈構成およびエンティティ属性条件クエリー
製品ステータスの取得中の資産情報の照会
クエリー・コードは次のとおりです.
/**
*
*
*/
@Entity
@Table(name = "zxb_user_money_mg", schema = "")
@DynamicUpdate(true)
@DynamicInsert(true)
@SuppressWarnings("serial")
public class ZxbUserMoneyMgEntity implements java.io.Serializable {
/** ID */
private java.lang.String assetid;
/** id */
private java.lang.String userid;
/** */
private BigDecimal money;
/** */
private java.lang.String producttype;
//
private ZxbProductMgEntity zxbProductiMgEntity;
@OneToOne(fetch = FetchType.EAGER, targetEntity = ZxbProductMgEntity.class)
@JoinColumn(name = "producttype", referencedColumnName = "producttype", nullable = false, updatable = false, insertable = false)
public ZxbProductMgEntity getZxbProductiMgEntity() {
return zxbProductiMgEntity;
}
public void setZxbProductiMgEntity(ZxbProductMgEntity zxbProductiMgEntity) {
this.zxbProductiMgEntity = zxbProductiMgEntity;
}
// set,get
}
/**
*
*/
@Entity
@Table(name = "zxb_product_mg", schema = "")
@DynamicUpdate(true)
@DynamicInsert(true)
@SuppressWarnings("serial")
public class ZxbProductMgEntity implements java.io.Serializable {
/** id */
private java.lang.String id;
/** */
private java.lang.String name;
/** */
private BigDecimal totalmoney;
/** */
private BigDecimal term;
/** */
private BigDecimal mininvest;
/** */
private BigDecimal normalrate;
/** */
private java.lang.String productinfo;
/** */
private BigDecimal remainmoney;
/** */
private BigDecimal tailmoney;
/** */
private java.lang.String producttype;
/** (0 1 2 ) */
private java.lang.String productstatus;
// set,get
}
クエリー・コードは次のとおりです.
/**
* id
*/
@SuppressWarnings("unchecked")
@Override
public List findUserMoneyMgByUid(String uid) throws Exception {
Criteria c = getCurrentSession().createCriteria(ZxbUserMoneyMgEntity.class);
c.add(Restrictions.eq("userid", new String(uid)));
c.add(Restrictions.eq("deleteflag", new String("0")));
//
c.createCriteria("zxbProductiMgEntity").add(Restrictions.eq("productstatus", new String("0")));
c.addOrder(Order.desc("inserttime"));
if (c.list() != null && c.list().size() > 0) {
return c.list();
}
return null;
}