是否可以使用Hibernate获取当前数据库状态?

时间:2014-12-06 04:11:28

标签: java hibernate postgresql

基本上,我希望每次数据库状态更改时都在每个客户端获取当前数据库状态。

假设我有两台计算机,每台计算机运行相同的Java应用程序,而PostgreSQL运行在服务器中。

当客户端连接到我的服务器并执行将对象(假设为Person)持久存储到数据库中的操作时,持久化对象字段(比如ID,name,surname)出现在执行该命令的客户端主窗口中操作,但命名字段不会出现在其他客户端的窗口中。

我的两个客户端可以完美连接到我的服务器。

如果您认为某些代码可以提供帮助,请告诉我。

顺便说一句,我听说过一个叫做“服务器推送”的东西,能帮助我想做什么吗?

阿尔伯特。

PS:对不起,我的英语不是很好:P

1 个答案:

答案 0 :(得分:0)

你想要使用postgresql的LISTEN / NOTIFY功能。

以下是使用JDBC(http://wiki.postgresql.org/wiki/PgNotificationPoller

的示例

同样,How to make a database listener with java?已经提供了一些更好的Hibernate-y资源。

基本上,在最高级别,您将使用一些后台线程来轮询服务器,以查看您想要更新的通道是否有任何NOTIFY事件。如果存在更新,则可以相应地更新GUI。