使用OpenJPA从数据库中检索主键(ID)(?)

这是一个写入和读取mysql数据库的简单程序。 当我输入测试数据时,所有这些都在mySQL客户端中可见。 然而,当我使用OpenJPA检索相同的数据时,所有ID都显示为“0”,但名称是正确的。 在交易过程中,ID可能会丢失的原因是什么? POJOclass import java.io.Serializable; import javax.persistence.*; @Entity (name=”People”) public class People implements Serializable{ /** * */ private static final long serialVersionUID = 801578124126646759L; @Id private int id; @Column(length=32) private String name; public People(int id,String name) { setId(id); setName(name); } public int getId() { return id; } public void setId(int id) { this.id […]

适用于多个用户的Spring websocket安全性

我想在spring应用程序中使用websocket来处理联系请求。 我已经为用户设置了登录页面,我使用了spring security。 我的问题如下:如何安全地向两个不同的用户发送Web套接字消息。 我知道我可以使用@SendTo()向每个订阅某个主题的用户广播消息,并且只能通过类似的方式向一个用户广播消息 messagingTemplate .convertAndSendToUser(principal.getName(), “/queue/requests”, request); 因为他的用户名存储在本金中。 我的问题是如何处理我们必须从请求中定位2个用户并使其安全,以便您无法在未经授权的情况下从客户端收听任何渠道。 理想情况下,我正在寻找类似的东西 messagingTemplate .convertAndSendToUser(request.getFromUser(), “/queue/requests”, request) messagingTemplate .convertAndSendToUser(request.getToUser(), “/queue/requests”, request)

JAVA SAX DefaultHandler startCDATA()未触发

我试图在标签内解析并检测CDATA的开始,如: 我有一个扩展Default处理程序的类 class MyXmlDoc extends DefaultHandler{ 使用正确endElement() startElement()和endElement() ,但startCDATA()永远不会触发。 我的characters()方法选择’数据在这里’所以看起来CDATA’包装’被检测到但是??? 感谢您的任何见解!

每小时一次玻璃鱼全gc

我在Glassfish应用程序中每小时看到一个完整的GC。 从GC日志中提取: 9.210: [Full GC 28311K->27979K(6422528K), 0.3770238 secs] … 3609.647: [Full GC 1186957K->597880K(6478208K), 4.5102977 secs] … 7214.192: [Full GC 742184K->595596K(6469504K), 4.3726625 secs] … 10818.805: [Full GC 756228K->570803K(6455936K), 4.8630472 secs] 只要Glassfish启动,这种模式就会大致重复。 其间的“……”是增量GC。 时间似乎非常可疑 – 为什么我们会在一小时左右看到完整的GC? JVM启动参数: -Xms6400m -Xmx6400m -XX:NewSize=1024m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=1024m -XX:+UseParallelGC -XX:+UseParallelOldGC -Xloggc:C:\glassfish3\glassfish\domains\domain1\logs\gc\gc.log -XX:+AggressiveOpts -Xss1024k -XX:+CMSClassUnloadingEnabled 根据JVisualVM,我们没有接近耗尽堆空间的地方。 Glassfish 3.1.2.2,Oracle JDK 1.6.0_45,Windows Server 2008

@Named的行为与@ManagedBean不同

我目前正在将一个项目从JBoss 4.2.2迁移到JBoss 6.0.0,我还在使用CDI添加dependency injection,并从JSF 1.2迁移到JSF 2.0。 我将一个beans.xml文件添加到ejb-package以及war-package中。 现在我有一个使用托管bean LoginBean.java的xhtml页面。 已经在faces-config.xml中配置了bean,如下所示: Sample description loginBean com.sample.managedbeans.LoginBean session 所以,首先我删除了上面的配置,并将@ManagedBean @SessionScoped添加到了类本身。 因为我想将CDI添加到项目中,所以我将@ManagedBean更改@ManagedBean @Named (与问题2930889相关 )。 现在,当我提交相应xhtml的表单时,字段username和password (在JSP中用作#{loginBean.username} )为空。 当我改回@ManagedBean ,它工作正常。 我在这里错过了什么吗? 亲切的问候,塞巴斯蒂安

找不到Eclipse部署描述符

我有一个在eclipse中创建的动态Web项目。 我移动了WebContent文件夹的位置(位于/ src文件夹中)。 但是,该项目仍然认为目录在/projectName/WEB-INF/ (我知道这是因为当我尝试在部署描述符中打开一个元素时它告诉我该路径不存在(它不存在,但我需要指出新的位置)。 如何将构建指向WebContent文件夹(和WEB-INF等)的新位置? 谢谢。

碰撞检测教程

我应该使用AWT开发Java游戏。 我坚持“碰撞检测”的概念。 如果您可以帮助我解释概念(如何工作)或举例(源代码)的任何教程,我将不胜感激。

Applet – Servlet通信

我已经放弃了我之前的尝试,即使用户和网页已经表明可以直接与数据库进行通信。 我现在试图让我的applet传递在文本字段中输入的信息(字符串和布尔格式)或由复选框指示,并将其提供给servlet,然后servlet将其适当地存储在数据库中。 我已经建立了applet前端 – GUI – 并且还构建了servlet – 数据库连接。 唯一的问题是两者之间的联系,applet和servlet。 如何将String数据从applet传递给servlet? 谢谢,约瑟夫G.

从Java中的Json字符串中提取字段

我试图从以下Json字符串中提取每个company_id中的id String test = [“{\”company_id\”:4100,\”data\”:{\”drm_user_id\”:572901936637129135,\”direct_status_id\”:0,\”direct_optin_date\”:0,\”direct_first_optin_date\”:0,\”direct_last_optin_date\”:0,\”direct_optout_date\”:0,\”direct_last_form_date\”:0,\”direct_last_form_id\”:0,\”direct_last_promo_id\”:0,\”anon_status_id\”:600,\”anon_optin_date\”:1446132360498,\”anon_first_optin_date\”:1446132360498,\”anon_last_optin_date\”:1446132360498,\”anon_optout_date\”:0,\”anon_last_form_date\”:1446132360498,\”anon_last_form_id\”:101,\”anon_last_promo_id\”:1002003,\”last_registration_date\”:1446132360498,\”mp_status_id\”:600,\”mp_control_state\”:-1,\”mp_match_date\”:0,\”mp_vs_version\”:0,\”mp_initial_value_segment\”:0,\”mp_id\”:0,\”conversion_last_form_date\”:0,\”conversion_last_form_id\”:0,\”conversion_last_promo_id\”:-1,\”last_message_date\”:1446132368928,\”cg_version\”:0,\”cg_version_date\”:0,\”num_anon_messages_global\”:0,\”num_anon_messages_global_date\”:0,\”reg_creator_id\”:576,\”reg_form_id\”:101,\”reg_method_id\”:1,\”reg_creator_type_id\”:1},\”personal_data\”:{\”version\”:0,\”personal_data\”:\”{}\”,\”mdc_data\”:{\”version\”:0},\”custom_data\”:\”{}\”},\”category_data\”:{},\”campaignImpressions\”:{},\”journeyStartDate\”:0}”,”{\”company_id\”:4045,\”data\”:{\”drm_user_id\”:572901936637129135,\”direct_status_id\”:0,\”direct_optin_date\”:0,\”direct_first_optin_date\”:0,\”direct_last_optin_date\”:0,\”direct_optout_date\”:0,\”direct_last_form_date\”:0,\”direct_last_form_id\”:0,\”direct_last_promo_id\”:0,\”anon_status_id\”:600,\”anon_optin_date\”:1446132360498,\”anon_first_optin_date\”:1446132360498,\”anon_last_optin_date\”:1446132360498,\”anon_optout_date\”:0,\”anon_last_form_date\”:1446132360498,\”anon_last_form_id\”:101,\”anon_last_promo_id\”:1002003,\”last_registration_date\”:1446132360498,\”mp_status_id\”:600,\”mp_control_state\”:-1,\”mp_match_date\”:0,\”mp_vs_version\”:0,\”mp_initial_value_segment\”:0,\”mp_id\”:0,\”conversion_last_form_date\”:0,\”conversion_last_form_id\”:0,\”conversion_last_promo_id\”:-1,\”last_message_date\”:1446132368928,\”cg_version\”:0,\”cg_version_date\”:0,\”num_anon_messages_global\”:0,\”num_anon_messages_global_date\”:0,\”reg_creator_id\”:576,\”reg_form_id\”:101,\”reg_method_id\”:1,\”reg_creator_type_id\”:1},\”personal_data\”:{\”version\”:0,\”personal_data\”:\”{}\”,\”mdc_data\”:{\”version\”:0},\”custom_data\”:\”{}\”},\”category_data\”:{},\”campaignImpressions\”:{},\”journeyStartDate\”:0}”,”{\”company_id\”:2979,\”data\”:{\”drm_user_id\”:572901936637129135,\”direct_status_id\”:0,\”direct_optin_date\”:0,\”direct_first_optin_date\”:0,\”direct_last_optin_date\”:0,\”direct_optout_date\”:0,\”direct_last_form_date\”:0,\”direct_last_form_id\”:0,\”direct_last_promo_id\”:0,\”anon_status_id\”:600,\”anon_optin_date\”:1446132360498,\”anon_first_optin_date\”:1446132360498,\”anon_last_optin_date\”:1446132360498,\”anon_optout_date\”:0,\”anon_last_form_date\”:1446132360498,\”anon_last_form_id\”:101,\”anon_last_promo_id\”:1002003,\”last_registration_date\”:1446132360498,\”mp_status_id\”:600,\”mp_control_state\”:-1,\”mp_match_date\”:0,\”mp_vs_version\”:0,\”mp_initial_value_segment\”:0,\”mp_id\”:0,\”conversion_last_form_date\”:0,\”conversion_last_form_id\”:0,\”conversion_last_promo_id\”:-1,\”last_message_date\”:1446132368928,\”cg_version\”:0,\”cg_version_date\”:0,\”num_anon_messages_global\”:0,\”num_anon_messages_global_date\”:0,\”reg_creator_id\”:576,\”reg_form_id\”:101,\”reg_method_id\”:1,\”reg_creator_type_id\”:1},\”personal_data\”:{\”version\”:0,\”personal_data\”:\”{}\”,\”mdc_data\”:{\”version\”:0},\”custom_data\”:\”{}\”},\”category_data\”:{},\”campaignImpressions\”:{},\”journeyStartDate\”:0}”] 我很想和Json一起工作。 这是我到目前为止: JSONObject jsonObject = new JSONObject(test); JSONObject newJSON = jsonObject.getJSONObject(“company_id”); System.out.println(newJSON.toString()); jsonObject = new JSONObject(newJSON.toString()); 我被困在这里因为我老实说不知道如何提取company_id。 感谢您的时间和耐心。

计算不同单词的数量

我试图使用Java计算文本中不同单词的数量。 这个词可以是unigram,bigram或trigram名词 。 这三个已经通过使用斯坦福POS标记器找到了,但是我无法计算频率大于等于一,二,三,四和五的单词及其计数。