我想知道我是否可以将此标准转换为独立标准。我没有正确理解分离标准。可以帮助一些人。
@Entity
@Table(name = "OP_DOCTOR_VISIT")
@SQLDelete(sql = "UPDATE OP_DOCTOR_VISIT SET DELETED = 'DELETED' WHERE OP_VISIT_ID = ? and VERSION_UPDATES = ?")
@Where(clause = "DELETED <> 'DELETED'")
public class OP_DOCTOR_VISIT implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "OP_VISIT_ID")
private Long OP_VISIT_ID;
@OneToMany(mappedBy = "OP_VISIT_ID", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@LazyCollection(LazyCollectionOption.EXTRA)
@Fetch(FetchMode.SELECT)
private List<OP_DOCTOR_VISIT> OP_VISIT;
public Long getOP_VISIT_ID() {
return OP_VISIT_ID;
}
public void setOP_VISIT_ID(Long OP_VISIT_ID) {
this.OP_VISIT_ID = OP_VISIT_ID;
}
public List<OP_DOCTOR_VISIT> getOP_VISIT() {
return OP_VISIT;
}
public void setOP_VISIT(List<OP_DOCTOR_VISIT> OP_VISIT) {
this.OP_VISIT = OP_VISIT;
}
}
是否可以重写上述内容,以便我可以避免使用&#34; @ OneToMany&#34;在下面给出的POJO中。
POJO
@events.to_a
答案 0 :(得分:0)
仅限您创建条件对象的第一行。
DetachedCriteria
允许您创建没有会话的查询。因此,在构建查询时不需要会话。 DetachedCriteria
与条件相同,但您可以在没有会话的情况下创建查询。
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(OP_DOCTOR_VISIT.class);
最后,当您有会话对象可用时,您可以执行查询
`criteria .getExecutableCriteria(session)。
答案 1 :(得分:0)
DetachedCriteria crit = DetachedCriteria.forClass(OP_DOCTOR_VISIT.class,“OPDV1”);
分离的条件允许您创建查询不带会话。然后,您可以在任意会话中执行搜索。
事实上,当使用另一个或新的会话(无缓存,并创建会话)时,您应该仔细考虑使用分离标准。
它们对于创建一些连接条件,子选择以及在当前会话外查询最有用。 另一个常见用途是代码重用。
如果您使用的是Spring并选择使用HibernateTemplate,则它不提供createCriteria()方法。 您只能找到** DetachedCriteria。