我寻找一种方法来获取在 Postgresql 数据库中 TIMESTAMPTZ 类型的字段中保存的某个 LocalDateTime 日期上创建的对象列表。
为此,我尝试使用 JpaRepository:
List<Object> findByCreationDate(LocalDate date);
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
java.lang.IllegalArgumentException: Parameter value [2020-12-12] did not match expected type [java.time.LocalDateTime (n/a)]
Run Code Online (Sandbox Code Playgroud)
我也尝试用相同的结果自己编写查询。
到目前为止我想到的解决方案:
在 Java 中获取所有对象和过滤器(但我不想去那里,所以不)
在 LocalDateTime 中转换 LocalDate 参数(但我假设在这种情况下我只会看到在同一时间创建的对象,所以不会。只有当我确定时间字段是午夜时,我才会考虑这个选项)。
创建一个方法findByCreationDateBetween(LocalDateTime startOfTheDay, LocalDateTime endOfTheDay)
(有趣的选项,但我想在不修改 LocalDate 并在一天开始和结束时将其转换为 LocalDateTime 的情况下进行查询。)
我还试图找到一些能够在查询中“转换”LocalDate 中的 LocalDateTime 或比较 LocalDate 和 LocalDateTime 的年、月和日的函数,但没有成功。creationDate 的类型应保持 LocalDateTime 和 TIMESTAMPTZ 类型的数据库字段。
是否还有其他 Jpa @Query 替代方案,总体而言,这种情况下的最佳方法是什么?
我在互联网上搜索了如何将JButton拖放到对象的示例,但我无法使其工作.
我的程序所做的是,当我单击一个按钮时,该对象更新了一个字段(带有selectedobject.setField()).我希望能够这样做不是通过点击,而是通过拖动JButton.
我怎样才能做到这一点 ?我找到了这个,我试着输入我的代码:
btn.setTransferHandler(new ImageHandler());
btn.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
JComponent c = (JComponent)e.getSource();
TransferHandler handler = c.getTransferHandler();
handler.exportAsDrag(c, e, TransferHandler.COPY);
}
});
Run Code Online (Sandbox Code Playgroud)
我从这里拿了ImageHandler类.