在保持持久性以及从数据库检索时维护集合顺序的首选方法是什么?
我知道@OrderBy更多的是内存中的排序,只有当你按照你选择的列的顺序预先排序时才可以检索.
假设我选择使用由数据库序列支持的列,hibernate将确保集合中的元素以与集合(例如List)相同的顺序保持.
任何想法?
假设我有一个与B类有一对多关系的A类.B有一个主键字段'Id',它由DB中的序列支持.
Class A {
List<B> bList;
}
Run Code Online (Sandbox Code Playgroud)
我一直想保留A中元素B的顺序,如下所示:
bList = { b1, b2, b3 }
Run Code Online (Sandbox Code Playgroud)
实现的一种方法是使用@OrderBy("Id ASC").只有当列表B按顺序保存在下面时,这才有效:
----------------
Id ----bValue
----------------
1------ b1
2------ b2
3-------b3
------------------
Run Code Online (Sandbox Code Playgroud)
当我们检索,因为它按Id排序,维持订单.
让我们通过以下方式保存集合B:
----------------
Id ----bValue
----------------
1------ b2
2------ b1
3-------b3
------------------
Run Code Online (Sandbox Code Playgroud)
当我们检索时,列表B的顺序进行折腾(因为它是按Id列的顺序).所以我的问题是,如果集合B始终保持与列表中显示的顺序相同或不相同.
我们正在将JSF 1.1(MyFaces)项目迁移到JSF 2.我们的想法是通过将JSP和XHTML保持在一起一段时间来定期迁移.我们在JSP页面中使用了许多ajax4jsf-1.1.1标记.我们不使用RichFaces.将系统配置为JSF 2(Balusc教程中提到的所有配置更改)当尝试在类路径中使用ajax4jsf.jar访问JSP页面时,我们得到一个异常:
Caused by: java.lang.IllegalStateException: setViewHandler may not be executed after a lifecycle request has been completed
at org.apache.myfaces.application.ApplicationImpl.setViewHandler(ApplicationImpl.java:853)
at org.ajax4jsf.framework.ajax.InitPhaseListener.beforePhase(InitPhaseListener.java:92)
at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:76)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:131)
Run Code Online (Sandbox Code Playgroud)
它看起来ajax4jsf.jar与JSF 2不兼容.看起来LifeCycle配置存在一些问题.
有没有什么办法可以让a4j与JSF 2 JSP一起工作?我知道当我们使用XHTML时,我们不需要这一切.
如何使用node.js指定出站TCP连接的源端口/本地端口?这是支持某些防火墙规则所必需的.
net.connect({port: PORT, host: HOST}, callback)
Run Code Online (Sandbox Code Playgroud)
我希望在上面的调用中有一个额外的参数'localPort'.但看起来API没有处理,以下不起作用.
net.connect({port: PORT, host: HOST, localPort: 12345}, callback)
Run Code Online (Sandbox Code Playgroud)
使用Java我会在下面做:
Socket s = new Socket();
s.bind(new InetSocketAddress("179.11.123.102", 5000));
s.connect(new InetSocketAddress("178.1.2.102", 1234));
Run Code Online (Sandbox Code Playgroud)
node.js中的等价物是什么?
如果我们在生产环境中继续运行jstat命令(比如每5分钟左右)来监控JVM(6.x)内存,是否会对性能产生影响?目标系统是实时应用程序,甚至一秒钟的停顿也很重要.