在休眠延迟加载时更改光标

时间:2016-07-16 21:14:00

标签: java hibernate

我想在Hibernate会话延迟加载数据时更改我的JFrame鼠标光标,将其设置为等待模式。我该怎么做呢?谢谢

1 个答案:

答案 0 :(得分:0)

您应该始终包含一些代码,以显示您已完成的操作,以便我们可以添加/编辑它以便为您提供答案。

但是,我将为您提供有关如何操作的基本知识:

在声明实体是否要延迟加载或急切加载时指定它。

现在,当您加载子元素时,您可以在访问子元素之前更改光标,并在加载完成后将其恢复为正常。我已经使用线程演示了它。

//lets suppose this is your class and it is currently lazy loaded
private Set<Child> children = parent.getChildren(); // Currently it doesn't contain anything because it is set to Lazy load

并且假设这是您懒惰加载对象的方式

public static void yourCurrentMethod() {
    ...

    children.size();
    children.iterator();

    ...
}

而不是这样,你可以用这种方式编写你的方法:

public static void yourCurrentMethod() {
    ...

    scroll.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));        
    SwingUtilities.invokeLater(new Runnable() {
        children.size();
        children.iterator();
        scroll.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    });

    ...
}

有关详细信息,请参阅这些答案:
1. https://stackoverflow.com/a/21016898/2815219
2. https://stackoverflow.com/a/2192271/2815219