屬性名表實體
@Data public class PmsBaseAttrInfo implements Serializable { @GeneratedValue(strategy = GenerationType.IDENTITY) @Id @Column private String id; @Column private String attrName; @Column private String catalog3Id; @Column private String isEnabled; @Transient List<PmsBaseAttrValue> attrValueList; }
屬性值表實體
@Data public class PmsBaseAttrValue implements Serializable { @Id @Column private String id; @Column private String valueName; @Column private String attrId; @Column private String isEnabled; @Transient private String urlParam; }
屬性名表實體id與屬性值表實體id字段一樣,屬性名表與屬性值關系是一對多關聯,如果在mybatis不使用別名的話,mybatis是識別不了的,查詢出來的結果是混亂的
使用別名的查詢如下 :
屬性名表與屬性值表的id字段相同,如果不用別名的話,查詢的結果會出現意想不到的錯誤,因此,設置屬性值表的id為attrValueId
同時也要更改column為別名字段,這樣查詢出來的結果還是和實體一致,不會變成attrValueId,這個只是給mybatis起識別作用
<id property="id" column="attrValueId" />
查詢出來的結果符合預期,如下: