小编ike*_*ke3的帖子

Javascript和Java Date JSON序列化

我有一个带有Date属性的javascript对象,它正在使用转换为JSONJSON.stringify

我在GMT + 4时区(俄罗斯/莫斯科)

例如, 5 Jan 2012转换为2012-01-04T20:00:00.000Z

5 Jan 1975 转换为 1975-01-04T20:00:00.000Z

但是在1975年它是GMT + 3时区,因为2011年在俄罗斯取消了夏令时.所以当它来到服务器(java)时,它反序列化为:

2012-01-04T20:00:00.000Z因为5 Jan 2012 00:00- 好的

1975-01-04T20:00:00.000Z因为4 Jan 197523:00 - 错!

在Javascript中将Date对象转换为JSON的推荐方法是什么?

javascript java spring date spring-mvc

15
推荐指数
2
解决办法
3万
查看次数

Javascript Date和java.util.Date构造函数参数

是的,另一个关于Java和Javascript日期的问题.

Java和浏览器(Chrome)的时区为GMT + 4(莫斯科).

<script language="javascript">
  var d = new Date(170798400000);
  document.write(d);
</script>
Run Code Online (Sandbox Code Playgroud)

提供:Sun Jun 01 1975 00:00:00 GMT + 0400(俄罗斯标准时间)

public class Test {
    public static void main(String[] args) {
        java.util.Date d = new java.util.Date(170798400000L); // the same epoch value!
        System.out.println(d);
    }
}
Run Code Online (Sandbox Code Playgroud)

捐赠:5月31日星期六23:00:00 MSK 1975

如果我将纪元值更改为2011-2012年(在俄罗斯取消夏令时之后),则输出正常.时区更新工具运行正常.

这是一个错误或记录的功能吗?有没有办法处理这个,除了格式化和重新解析,如YYYY-MM-dd HH:mm:SS左右?

来自javadoc:

日期(长日期)

分配Date对象并将其初始化以表示自标准基准时间(称为"epoch")以来的指定毫秒数,即1970年1月1日00:00:00 GMT.

来自javascript参考:

新日期(毫秒)

milliseconds - 表示自1970年1月1日00:00:00 UTC(Unix Epoch)以来的毫秒数的整数值.

javascript java timezone date

8
推荐指数
1
解决办法
3993
查看次数

PostgreSQL JDBC 调用很慢,但同样使用 psql 很好

我有一个使用 JDBC 从部署在 JBoss 上的应用程序调用的 SQL 查询。(老实说,这是 Spring-Data 存储库中的一些原生查询)。

查询计划最优,可以psql在app server上运行,执行时间0.8sec(DB server比较慢)。所以没有网络减速。

来自 JBoss 服务器的具有相同参数的相同查询需要超过 3 秒才能执行。

使用 JProfiler 的分析显示最慢的调用是org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery()- 3.3 秒 似乎其他查询也变慢了,但没有那么多。

JBoss 上没有其他用户和进程。连接池是免费的。

为什么相同的查询使用 JDBC 如此缓慢,而使用 JDBC 却很快psql?如何调试此类问题?

PostgreSQL 9.3 Linux x64。Java8. 最新的 JDBC 客户端。JBoss EAP 7.

postgresql performance jboss jdbc

6
推荐指数
0
解决办法
779
查看次数

Hibernate二级数据缓存和集成/验收测试

我有一个JPA/Hibernate/Spring/Tomcat Web应用程序,出于性能原因启用了二级数据缓存.缓存可以很好地工作!

我还有一个Cucumber测试套件,它将一些测试数据直接添加到应用程序的数据库中,然后执行一些Selenium步骤.当然它失败了,因为应用程序因为二级缓存而没有看到更新.

我知道我可以在禁用缓存的情况下进行特殊构建测试(通过为Maven过滤或类似传递一些布尔属性)但是有很多@Cache注释实体因此禁用缓存会导致应用程序失败,异常"二级缓存不是启用".

另一种方法可能是使用ehcache远程处理来清除缓存或使用零对象生存期或类似配置它.

我也可以仅使用应用程序UI创建测试数据,但这会给测试用例增加不必要的复杂性,所以我更喜欢在测试运行之前将它们写入数据库.

任何人都可以在启用二级数据缓存的情况下分享他们的集成测试应用程序吗?

java selenium caching hibernate jpa

5
推荐指数
1
解决办法
859
查看次数

Hibernate @Version 不适用于一对多

我有一个具有一对多关联的休眠实体:

@Entity
public class Parent {
    @OneToMany(mappedBy = "parent", fetch = FetchType.LAZY)
    @Cascade(CascadeType.ALL)
    private Set<Child> children = new HashSet<Child>();

    @Version
    private Date version;
}

@Entity
public class Child {
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "PARENT_ID")
    private Parent parent;

    @Basic
    private String key;
}
Run Code Online (Sandbox Code Playgroud)

*为清楚起见,删除了一些注释

子实体映射到具有复合主键(KEY 和 PARENT_ID)的表上。问题是,当两个用户将同一个 Child(具有相同的键)添加到同一个 Parent 时,级联保存(session.saveOrUpdate(parent))会因 Child 的主键违规而不是乐观锁失败而失败。

如果用户除了集合之外还更改了 Parent 实体中的某些其他属性,则乐观锁可以正常工作。

我可以向 Parent 类添加一些虚构的属性,并在每次集合更改时更改它,它会起作用,但它看起来像一个黑客。

或者我可以将复合主键替换为代理键(通过添加@Id)。

问题是:在这种情况下,推荐的实现乐观锁定的方法什么?

可能与Hibernate @Version 导致数据库外键约束失败有关

java oracle hibernate

5
推荐指数
2
解决办法
1740
查看次数

Dagre-D3图。egde路径可以自定义吗?

我设法使用dagre-d3图形布局库创建了一些图形。该库工作出色,但似乎缺少文档。

我的图确实看起来像这个例子:http : //cpettitt.github.io/project/dagre-d3/latest/demo/interactive-demo.html

我真正想做的是自定义边缘,使它们看起来像下面的图片: 在此处输入图片说明

因此,基本上,我需要自定义表示边缘的svg path元素。我做了一些研究,似乎可以使用graphviz样式(箭头,颜色等),但是还没有找到自定义连接路径本身的任何方法。

是否可以以某种方式自定义它

d3.js dagre-d3

1
推荐指数
1
解决办法
5474
查看次数

带有cellNav的角度ui-grid - 如何在聚焦时移除蓝色边框?

我正在使用具有CellNav功能的ui-grid:http://ui-grid.info/docs/#/tutorial/309_editable_with_cellnav

无法确定哪种CSS样式在聚焦时在网格周围添加蓝色阴影边框.我应该覆盖哪个CSS类才能摆脱这个边界?

angular-ui-grid

1
推荐指数
1
解决办法
980
查看次数