问题描述
我的问题非常简单...更新我的父实体后,它会导致一个选择查询,该查询会在更新或插入子对象之前先选择所有子对象。我想摆脱那些笨拙的选择...
@Entity
@Table(name = "chunk",uniqueConstraints = {@UniqueConstraint(columnNames={"x","y"})},indexes =
{@Index(columnList = "x,y")})
@Access(value = Accesstype.FIELD)
public class Chunk extends HibernateComponent {
public int x;
public int y;
public Date createdOn;
@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
@OnetoMany(fetch = FetchType.EAGER)
@Fetch(FetchMode.JOIN)
@BatchSize(size = 50)
public Set<Identity> inChunk = new LinkedHashSet<>();
@Transient
public Set<ChunkLoader> loadedBy = new LinkedHashSet<>();
public Chunk() {}
public Chunk(int x,int y,Date createdOn) {
this.x = x;
this.y = y;
this.createdOn = createdOn;
}
}
@Entity
@Table(name = "identity")
@Access(Accesstype.FIELD)
@sqlInsert(sql = "insert into identity(tag,typeID,id) values(?,?,?) ON DUPLICATE KEY UPDATE id =
VALUES(id),tag = values(tag),typeID = values(typeID);")
@SelectBeforeUpdate(value = false)
public class Identity extends Component {
@Id
public long id;
public String tag;
public short typeID;
public Identity() {}
public Identity(long id,String tag,short typeID) { this.id = id;this.tag = tag;this.typeID =
typeID; }
}
select childs
update childs
update parent
我的注释出了什么问题?为什么会发生这些选择,我该如何防止呢?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)