草庐IT

definition_id

全部标签

java - Java 中用于唯一 ID 的序列生成器

我打算写一个序列生成器,它将被使用在发布期间在我的REST资源实现类中生成唯一身份。由于每个发布请求都由单独的线程处理,我使变量volatile和方法同步。我没有选择使用序列或其他东西传统的RDBMS提供。publicclassSequenceGen{volatilestaticintn=0;publicsynchronizedintnextNum(){returnn++;}}这是我目前所拥有的,并计划创建一个变量我的REST实现中的SequenceGen。我的实际问题是它在什么地方坏了?我测试了两个线程,但我没有看到任何重复的值。 最佳答案

java - JPA获取实体对象的id

有谁知道我如何在hibernate中做同样的事情:session.getIdentifier(instance);使用JPA?EntityManager有一个contains方法,仅此而已!我正在编写一些代码,充当session中存储的实体和数据之间的转换器(因此不是存储序列化对象,而是仅存储类名和ID)。 最佳答案 在JPA2.0中你可以写em.getEntityManagerFactory().getPersistenceUnitUtil().getIdentifier(instance);

java - 如何让 Java/Spring MVC 返回基于 jsonapi.org ID 的格式?

我正在实现一个JSONAPI,供Ember-DataREST适配器使用。Ember-DataREST适配器需要返回的JSON遵循以下格式:http://jsonapi.org/format/Ember-Data文档:http://emberjs.com/guides/models/the-rest-adapter/#toc_json-conventions我知道如何返回JSON,比如说,使用SpringMVC3.2/Jackson,这不是问题。但是,JSON格式必须符合jsonapi.org中指定的格式。如果您在谷歌上搜索“emberdatatastypieadapter”(抱歉,没有

java - Hibernate Session#merge 在收到带有 ID 的实体时是否应该插入?

这似乎经常出现,但我用谷歌搜索无济于事。假设您有一个Hibernate实体User。您的数据库中有一个ID为1的User。您有两个线程在运行,A和B。它们执行以下操作:A获取用户1并关闭其SessionB获取用户1并删除它A更改用户1的字段A得到一个新的Session并合并的用户1我所有的测试都表明merge试图在数据库中找到用户1(显然不能),因此它插入了一个ID为2的新用户。另一方面,我的期望是Hibernate会发现被合并的用户不是新用户(因为它有一个ID)。它会尝试在数据库中找到用户,这会失败,因此它不会尝试插入或更新。理想情况下,它会抛出某种并发异常。请注意,我正在通过@Ve

java - Spring JPA/hibernate : Failed to import bean definitions

将我的头撞在墙上几个小时也无法解决这个问题,这似乎是我的配置设置错误,或者可能是依赖冲突或缺少依赖。有什么想法吗?相关依赖:SpringDataCommonsCore1.2.0SpringDataJPA1.8.0HibernateCore5.0HibernateJPA2.1Eclipse中的错误信息:Configurationproblem:Failedtoimportbeandefinitionsfromrelativelocation[SpringDbContext.xml]Offendingresource:classpathresource[SpringAppContext.x

java - JPA。如何子类化现有实体并保留其 ID?

假设我有两个经典的非抽象JPA类:Person和Student。@Entity@Inheritance(strategy=InheritanceType.JOINED)publicclassPerson{@Id@GeneratedValue(strategy=GenerationType.AUTO)privateStringid;//...}@EntitypublicclassStudentextendsPerson{//...}现在有一些身份的人进入大学并成为一名学生。我如何在JPA中处理该事实并保留人员的ID?student=newStudent();student.setPers

java - 在 Java 中获取 Spark 中的当前任务 ID

我需要在Spark中获取当前任务的ID。我一直在谷歌和官方API中搜索,但我能找到的唯一ID是执行者ID和RDD的ID。有谁知道如何获得任务的唯一ID?我已经看到类TaskInfo正是我要找的东西,但我不知道如何获取此类的实例。 最佳答案 为了获得特定的任务ID,您可以使用TaskContext:importorg.apache.spark.TaskContext;textFile.map(x->{TaskContexttc=TaskContext.get();System.out.println(tc.taskAttemptId(

java - 你能以编程方式访问当前的 Heroku dyno id/name 吗?

在Heroku上,您能否以编程方式从应用程序中获取当前正在执行代码的dyno的某种标识符?例如dyno名称(例如“web.1”或“worker.1”)或其他一些ID。如果是,如何在Java中执行此操作? 最佳答案 总是有机器的主机名(看起来像d.LONG_GUID。我想(虽然没有尝试过)这应该有效:Stringlocalhostname=java.net.InetAddress.getLocalHost().getHostName();此外,还有一个鲜为人知的secret,但您可以通过查看环境变量PS1的值来获取“web.1”、“w

java - eclipse RCP : How to download delta pack from software site in the Target Definition file?

我正在使用此技术为我的EclipseRCP项目创建目标平台:http://www.modumind.com/2009/09/01/creating-an-eclipse-rcp-target-platform/RCPSDK直接使用软件站点下载。至于deltapack,我是从网站上手动下载的,在目标定义文件中添加了目录,下次想升级deltapack版本时,我觉得很繁琐。是否也可以使用软件站点下载增量包?或者至少以更少的手动操作和更易于维护的方法来实现?谢谢。 最佳答案 向目标添加一个主要的eclipse更新站点。注意版本。然后从此站点

java - JPA Criteria query group by 只使用id

这是一个示例实体:publicclassAccount{@IdLongidDoubleremaining;@ManyToOneAccountTypetype}publicclassAccountType{@IdLongid;Stringname;}现在我创建一个条件查询,加入如下:CriteriaBuildercriteriaBuilder=getEntityManager().getCriteriaBuilder();CriteriaQuerycriteriaQuery=criteriaBuilder.createquery();RootaccountRoot=criteriaQue