数据库是用python更新的,有没什么好点的办法,在数据库更新之后,java马上能知道更新了哪些数据呢?

解决方案 »

  1.   

    让数据库通知Java程序,这有点难。所以应该如1楼所说,从Java程序中定期查数据库。
    用时间戳做记号也好,用触发器保存最新记录到其他表也好,数据库里需要为java程序能查到最新记录提供可能。
      

  2.   

    在什么情况下更新的呢
    我觉得可以在数据库更新的时候设置一个Attribute,然后用监听器来监听这个属性
      

  3.   

    最好用触发器把一些信息记录在一个表中,java代码定期的去读取这个表就可以了。
      

  4.   

    python更新有没有规律?有的话java就好办多了。
      

  5.   

    1 添加 时间字段,这样可以根据时间段统计.2 触发器,这个楼上很多人都说了.3 类似于自制触发器,假如添加数据也都是通过程序添加的,那么记录log,分两种,拿spring 的 jdbc 举例
      a: 使用aop 拦截 update() 等方法,拦截过程中,可以将语句进行截取取值,并且保存当时执行的语句到一个日志表中.
      b: 重写下 spring 的 update () 方法. 其实一个意思........截取SQL语句的头,按照 insert update delete 分别记录, 取得 操作前的值和操作后的值. 方法3比较麻烦,但是可以实现很多触发器不能实现的事.对于语句的格式必须严格要求.碰到比较复杂的语句比较难处理,比如 insert里嵌套select 子句等等.
      

  6.   

    最好的方式是 Python 更新完后调用 Java 提供的某个接口通知一下