Java 在Dropwizard和mysql中持久化应用程序启动时间
我正在试图节省在数据库中重新启动dropwizard服务器的时间。为此,我创建了以下内容 应用程序对象Java 在Dropwizard和mysql中持久化应用程序启动时间,java,hibernate,session,Java,Hibernate,Session,我正在试图节省在数据库中重新启动dropwizard服务器的时间。为此,我创建了以下内容 应用程序对象 JsonIgnoreProperties(ignoreUnknown = true) @Entity @Table(name = "app") @NamedQuery(name = "App.findAll", query = "SELECT d FROM App d") public class App implements Serializable{ private sta
JsonIgnoreProperties(ignoreUnknown = true)
@Entity
@Table(name = "app")
@NamedQuery(name = "App.findAll", query = "SELECT d FROM App d")
public class App implements Serializable{
private static final long serialVersionUID = 1L;
AppDAO adao;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
long id;
@JsonProperty
Date started;
public App ( Date started) {
this.started = started;
}
AppDAO类
public class AppDAO extends AbstractDAO<Appr> {
public SessionFactory sessionFactory;
public AppDAO(SessionFactory sessionFactory) {
super(sessionFactory);
}
public Session session;
public App create(App app) {
return persist(app);
}
我遗漏了什么?我也有同样的问题。如果找到解决方案,请更新!最后,我在数据访问对象的创建方法中使用了原始jdbc。没有原始jdbc,它还能工作吗?我没有。在这一过程中,我确实了解到添加@UnitOfWork不会缓解当前绑定会话的异常,但这是针对资源方法的,在这种情况下没有帮助。
public class Main Application extends Application<MainConfiguration> {
private final HibernateBundle<DeployerConfiguration> hibernate = new HibernateBundle<AppConfiguration>(App.class) {
public DataSourceFactory getDataSourceFactory(
AppConfiguration configuration) {
return configuration.getDataSourceFactory();
}
};
@Override
public void initialize(Bootstrap<AppConfiguration> bootstrap) {
bootstrap.addBundle(hibernate);
}
public static void main() {
final AppDAO ddao = new AppDAO(hibernate.getSessionFactory());
App app = new App(new Date());
adao.create(app);
}
Exception in thread "main" org.hibernate.HibernateException: No session currently bound to execution context