【发布时间】:2014-09-15 17:14:19
【问题描述】:
我是春天的新手。上图显示了我的数据库架构:
我需要每分钟为每个站点下载一个新的实时数据,并且我必须将它分配给那个站点。我想设法:
- 坚持
- 不使用 FetchType.EAGER(为此目的太慢了)
- 在单个时间(即与 db 的单个通信,而不在列表上迭代每个单个 RealTimeData 上的持久函数)保持前一分钟收集的 RealTimeData 集合。
这就是我想做的事情,如果我应该采取完全不同的方式来做类似的事情,任何建议都会受到赞赏。
车站等级是这样的:
@RooJavaBean
@RooToString
@RooJpaActiveRecord(finders = { "findStationsByNum" })
@RooJson
public class Station {
private String address;
private String name;
private Integer num;
@ManyToOne(cascade = CascadeType.ALL)
private Location location;
@ManyToOne
private City city;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "station", fetch=FetchType.LAZY)
private Set<RealTimeData> real_time_data = new HashSet<RealTimeData>();
}
RealTimeData 类是这样的:
@RooJavaBean
@RooToString
@RooJpaActiveRecord(finders = { "findRealTimeDatasByCollect_dateEquals" })
@RooJson
public class RealTimeData {
private Integer available_bike_stands;
/* ... ... ... */
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(style = "M-")
private Date collect_date;
@ManyToOne
private Station station;
}
【问题讨论】:
-
您有遇到的具体问题吗?目前,这个问题有点过于宽泛,无法在 SO 上获得任何真正的帮助。
-
主要问题是我必须在一分钟内保存数千个 RealTimeData 对象。一个一个地保留它们或合并它们所属的主对象需要超过一分钟的时间,所以我需要一种更快的方法。
-
也许我需要类似的东西: HibernateTemplate template = new HibernateTemplate(sessionFactory);模板.saveOrUpdateAll(list);但是 Spring 建议不再使用 HibernateTemplate。
标签: java hibernate persistence spring-roo