草庐IT

java - 在使用 hibernate 映射的表中添加列,而不会丢失现有数据

我有一个名为Person的表,我已经将其映射到hibernate状态中,我已经有一些我不想丢失的数据。我需要添加名为地址的新列,知道如何在hibernate中执行此操作吗?提前致谢.. 最佳答案 如果您当前的表是由Hibernate生成的,您可以简单地在address列的java实体类中添加address属性。然后设置hibernate.hbm2ddl.auto属性为update,hibernate会在下次构建SessionFactory时自动创建这一列。当hibernate.hbm2ddl.auto为update时,Hiberna

java - 访问现有 SQS 队列时抛出 AWS.SimpleQueueService.NonExistentQueue 异常

我对AWSSQS服务比较陌生。我编写了一些代码来包装AmazonSQSapi。我能够使用创建的队列执行基本功能,但尽管如此(事实上,我一直在使用这段代码,没有任何问题,而且我正在创建JUnit测试作为一种形式),我的JUnit测试失败了,因为一个错误对我来说毫无意义。我使用AWS管理控制台创建了一个名为SerenaQForTest的队列。当我查看AWS控制台时,我可以看到我创建的队列已列出。我已将队列的权限设置为对所有人开放。我正在用Java编码。当我尝试与队列交互时,我收到错误代码为AWS.SimpleQueueService.NonExistentQueueerror的Amazon

java - 如何使用具有新值的java将现有数组附加到mongodb中的现有集合中

我有一个mongo集合,例如:{"_id":ObjectId("55cad746aed75601b4822cc9"),"entityId":"12","entityType":"a","nameIdentity":[{"fName":"abc","lName":"def","dob":"00","address":"xyz"},]}我正在使用mongodbjava3.0驱动程序并尝试匹配和更新。例如:我正在尝试匹配entityId,如果找到则添加新的nameIdentity。第二次路过{"fName":"123","lName":"456","dob":"00","address":"

java - 如何通过 java 打开现有文件,如 .docx、.txt、.pptx?

我想知道如何通过java打开文件。我可以这样打开Office本身try{RuntimerunTime=Runtime.getRuntime();Processprocess=runTime.exec("C:\\ProgramFiles\\MicrosoftOffice\\Office15\\EXCEL.EXE");}catch(IOExceptione){e.printStackTrace();}但我想直接从java打开文件。 最佳答案 试试这个,try{if((newFile("c:\\your_file.pdf")).exist

java - 动态创建 spring bean 并更改现有 bean 的属性

我通过遵循http://blog.springsource.com/2007/01/23/dynamic-datasource-routing/成功地实现了数据库连接的动态更改文章。但现在的问题是,我在由遗留应用程序管理的配置文件中有一个数据库url列表。有没有一种方法可以根据值列表(即Year2011DataSource、Year2012DataSource等)在Spring上下文中创建bean并使用刚刚创建的那些bean填充dataSourcebean的映射? 最佳答案 我认为非常适合这个要求的是自定义BeanFactoryPo

java - 用 Ruby (JRuby) 包装现有 Java 库的最佳方法

我希望将ruby​​(JRuby)包装器放在中型Java库上,并且正在寻找有关从打包到策略的所有最佳实践的建议和文章。我在这里找到了关于此主题的相对过时的(2009年)讨论:http://www.ruby-forum.com/topic/188447.我希望使用最新版本的JRuby。 最佳答案 我已经为Java库(Eurydice、HotBunnies、MessagePack、Rubydoop和Mikka等)编写了一些包装器。其中一些只是适配Java库的JRuby代码,其中一些包括与JRuby运行时接口(interface)的Jav

java - JPA 仅使用其 ID 保存 "new"实体并引用现有实体?

假设您有一辆带有一系列轮胎的汽车。@EntitypublicclassCar{privateLongid;@OneToMany(mappedBy="car")privateSettires=newHashSet();}@EntitypublicclassTire{privateLongid;...}现在,如果您想添加一辆新汽车并添加现有轮胎,您可以获取整个现有轮胎实体以填充汽车集。是否可以简单地拥有一些TireID并保存Car而无需先将整个Tire实体提取到内存中?如果它只是一个单一的轮胎实例而不是一个轮胎组,有没有办法只用一个轮胎ID来保存它?使用JPA和CriteriaAPI,或者

java - 基于现有数据库或 hibernate 配置在 Spring 中生成简单的 crud 应用程序?

我正在尝试学习SpringMVC,但被Grails宠坏了。虽然我能够让一个基本的Web应用程序正常工作,但我想知道是否有任何工具可以完成一些工作来创建给定数据库或hibernate数据模型的crud应用程序?到目前为止我找到的唯一一个是http://www.skywayperspectives.org/portal/web/guest/downloads/overview我不确定如何获取生成的代码并将其转换为在其构建过程中使用Maven或Ant。 最佳答案 Telosys完成这项工作:http://www.telosys.org如果

java - 在 Java 并行/多线程中创建现有代码

我有一个非常简单的爬虫。我想让我当前的代码在几个线程中运行。你能给我一些教程或文章来帮助我完成这个测试吗?我最初是一名.Net开发人员,在.Net中,我在多线程中运行代码没有任何问题,但不幸的是,我对Java中的线程一无所知。我的爬虫是一个命令行软件,所以不用担心GUI。提前谢谢你。 最佳答案 Java通过Thread类来实现多线程。使现有代码成为多线程的最常见方法之一是使用Runnable接口(interface)定义您希望在线程启动时调用的内容,然后启动它。publicclassSomeFunctions{publicstati

java - 如何从 Liquibase 中的现有列添加具有默认值的新列

我使用的是Postgres数据库,为了迁移,我使用的是Liquibase。我有一个包含以下列的ORDERS表:ID|DATE|NAME|CREATOR|...我需要添加一个新列来保存上次修改订单的用户-此列应该不可为null,并且应该具有默认值,即CREATOR。对于新订单,我可以解决业务逻辑的默认值部分,但是问题是我已经有一个现有订单,我需要在创建新列时设置默认值。现在,我知道我可以设置一个硬编码defaultvalueinLiquibase-但有没有一种方法可以根据该表的某些其他列(针对每个实体)添加默认值。 最佳答案 由于这里