草庐IT

java - 安全更新 hibernate 实体的最佳方法是什么?

先说明一下上下文。我有通过JMS访问的后端Java(Spring/Hibernate)应用程序。我有通过Url访问的客户端应用程序(RESTfull)。我有一个包含多个列表的复杂实体(其中大部分是惰性的),并且该实体是xy其他实体的组合。问题:因为我通过URL访问它,所以我根据URL参数在客户端应用程序中创建Java对象。我通过JMS将它发送到后端,但在后端,我没有Hibernate对象,所以我不能简单地合并它。我可以浏览来自客户的所有信息,例如:通过id获取hibernate对象检查有什么不同设定新的值(value)观更新并为每个组合实体重复它,但我想知道是否有更优雅和“易于维护”的

java - 嵌入模式时,Tomcat SqlException 中的 H2 被另一个进程锁定

我的网络项目在Tomcat7中运行。我的服务器提供商已经有一个MySql服务器,但是我想使用H2,因为它给我更多的灵active和速度。我的服务器提供商强加了我一个限制,说我不应该启动一个新线程,这样做会自动导致tomcat停止。我的项目处于接近beta阶段的alpha阶段,因此在本地进行了测试。我经常收到另一个进程锁定的SqlException。当Tomcat更新线程池时会发生这种情况,大多数情况下会在从Eclipse自动发布时发生(这不是一个交易,因为它不会在服务器上发生)但有时它只是随机发生。我的应用程序不直接访问数据库,而是通过一个包装器访问,我相信它不会造成问题,但也可以防止

java - 从 MSSQL NVarchar 列中检索阿拉伯语文本

我正在制作一个图书馆管理系统,我试图在我的项目中添加阿拉伯语支持,但我面临如下困难,当通过查询在SQL中插入数据时,即Insertintobook_infovalues(25,N'ìاوا',N'Author',N'Publisher',2014,N'Subject',50,N'Language','Latest',5)book_info中的列列表如下图书编号(int)书名(NVarchar(50))作者(NVarchar(50))发布者(NVarchar(50))出版年份(整数)主题(NVarchar(50))价格(整数)语言(NVarchar(50))版本(NVarchar(50)

java - 用于快速检索、更新和保持排序的最佳数据结构

问题如下我需要跟踪url+点击次数。我需要能够在用户点击url时使用点击次数快速更新url。我需要能够快速检索点击次数最多的10个URL。注意:假设您不能使用数据库。实现结果的最佳数据结构是什么?我之前考虑过使用map,但map不会跟踪前10次点击的顺序。 最佳答案 您需要一个额外的List>保持前十名,T是最低的点击次数。如果您计算另一次点击并且此计数仍不大于T:什么都不做。如果增加的计数大于T,检查URL是否在列表中。如果是,什么也不做。如果不是,则将此条目添加到列表中,如果列表超过10个条目,则排序并删除最后一个条目。更新T。

java - Java中用于处理任务的并发和可扩展数据结构?

对于我当前的开发,我有许多创建Tasks的线程(Producers)和许多使用这些Tasks的线程(消费者)每个Producer都由一个唯一的名称标识;Tasks由以下部分组成:其生产者的名称一个名字数据我的问题涉及(生产者)和(消费者)使用的数据结构。并发队列?天真地,我们可以想象Producer用Tasks填充一个并发队列,然后(consumers)读取/消费Tasks存储在并发队列中。我认为这个解决方案更适合扩展,但有一个案例是有问题的:如果Producers非常快速地创建两个名称相同但数据不同的Tasks(任务T1和T2同名但T1有数据D1,T2有数据D2),理论上有可能按照T

java - 如何初始化通过远程方法调用获取的 Hibernate 实体?

当使用Hibernate调用远程服务(例如通过RMI)从数据库加载实体列表时,您如何管理它以初始化客户端需要的所有字段和引用?示例:客户端调用远程方法加载所有客户。对于每个客户,客户都希望初始化对客户购买商品列表的引用。我可以想象以下解决方案:为每个特殊查询编写一个远程方法,初始化所需的字段(例如Hibernate.initialize())并将域对象返回给客户端。像1.但创建DTO将查询拆分为多个查询,例如一个给客户,一个给客户的文章,让客户自己管理结果远程方法接受一个DetachedCriteria,它由客户端创建并由服务器执行开发自定义“预加载模式”,即客户端明确指定要预加载哪些

java - 如何确定连接池中所需的连接数?

我在我的应用程序中使用hibernate3.2.2。对于连接池,我们使用c3p00.9.1。我正在使用GenericDAO模式和OpenSessioninView模式来进行数据库操作。我们正在开发现有网站的新网站。目前,现有应用程序的访问次数为50万页。我对c3p0配置感到困惑。在什么基准下,我决定不打开连接。最大连接数、最小连接数、空闲时间、超时等.... 最佳答案 您首先需要确定如果有请求进入并且没有可用连接来为其提供服务时池将执行的操作。它会抛出异常吗?返回空值?阻塞直到另一个连接返回到池中?一旦您知道超出容量时会发生什么,请

java - 如何使项目 "repository/team"准备就绪

我已经在一个项目上独立工作了一段时间,现在,由于各种原因,新的开发人员可能会加入该项目。当然,我使用版本控制软件,但我担心将我的项目导入Eclipse并使其运行对新手来说可能有点困难,我希望它尽可能干净。当我第一次接手这个项目时,我花了将近两天的时间来构建和运行它,我记录了每一步并修复了最明显的错误,但不是全部,我希望项目能像它一样运行是导入的时候。该项目混合了用于后端的java项目、用于服务器的j2ee项目和用于客户端的flex项目。IDE将是Eclipse版本控制软件是Perforce这是我现在遇到的一些具体问题,我应该解决它们吗?如何解决?Eclipse环境变量用于库,所有库都在

java - 实现简单文档管理系统的最佳方式是什么?

我打算构建一个简单的文档管理系统。最好围绕java平台构建。是否有关于此的最佳实践?要求是:能够上传文件能够标记文档版本文件对文档的评论我目前正在考虑几个选项。第一个选项是在SVN或CVS之上的简单API,并使用数据库后端来跟踪标签、上传者、评论等另一种选择是使用文件系统。将文档版本化为版本文件夹中的副本并使用文件名。或者,如果有一个开放的非GPL文档管理系统,我们可以根据需要对其进行自定义并将其打包到我们的应用程序中。有没有人有构建这样的东西的经验? 最佳答案 您可能想看看ContentrepositoryAPIforJava和几

java - 在 EJB 环境中是否存在类似于 .wait() 和 .notify() 的行为?

我知道我不能修改EJB容器中的线程,因此我不知道如何在EJB环境中以正确的方式执行以下操作:涉及:无状态sessionBean“客户端”无状态sessionBean“服务器”消息队列“队列”处理来自“队列”的消息的消息驱动Bean“Mdb”n个无状态sessionBeanW1到Wn场景是:客户端调用服务器的方法,后者又将多个消息发送到队列。之后,Server会做一些其他的事情。与此同时,Mdb消费一条消息,调用Wi进行一些相当长的计算,并获得结果。现在Mdb将结果提供给Server。当Server获得了它发送的每条消息的所有“结果”时,它会对来自W的结果进行更多计算,并将该结果返回给C