我有两个实体:
Account {
@Id
Long id;
}
Preference {
...
@ManyToOne
private Account account;
}
Run Code Online (Sandbox Code Playgroud)
保存首选项时,我有accountId,但我没有帐户实体.在这种情况下我应该如何保存偏好?
加载帐户实体并将其设置在首选项上?对我来说,这似乎是错误的数据库之旅.
是否具有可持久的accountId字段并将"帐户"字段设置为只读?同时拥有accountId字段和Account字段似乎是多余的?
使用NamedQuery来保留首选项?我希望只是一般地保存一个没有特殊逻辑的实体.
我有以下任务调度程序设置:
<bean id="Task" class="foo.bar.Task" />
<bean id="TaskScheduler"
class="org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler">
<property name="waitForTasksToCompleteOnShutdown" value="true" />
<property name="poolSize" value="1000" />
</bean>
<task:scheduled-tasks scheduler="TaskScheduler">
<task:scheduled ref="Task" method="run" cron="*/5 * * * * *" />
</task:scheduled-tasks>
Run Code Online (Sandbox Code Playgroud)
任务只打印一行并睡10秒钟.通过这种设置,我的期望是任务将每5秒运行一次,无论前一个任务是否已完成执行(即停止休眠).但情况并非如此,任务运行一次15秒(睡眠时间,然后是下次cron被击中).
如何配置此任务,以便任务每5秒运行一次,无论先前的执行是否完成?