草庐IT

Spring-Data-JPA

全部标签

java - 检索 JPA 实体列表和元数据

我想知道是否有办法获取JPA中特定持久单元的所有实体类及其元数据。我所说的元数据不仅指字段,还指它们的列名、长度、精度、数据类型以及表名和我可以获得的任何内容。我尝试使用元模型,但我认为这仅适用于JPQL查询。我需要能够向用户显示某些PU的所有Activity实体,并且我不想将它们硬编码到某个数组或数据库中,我希望API告诉我它有哪些实体。而且,如果可能的话,获取每个实体的托管实例。我想我可以尝试使用反射来获取所有带有@Entity注释的类,但这不会很漂亮,而且很难知道哪个属于特定的PU,所以如果api已经公开了这个信息那就太好了。我更喜欢符合JPA的解决方案,但如果不可能,Hiber

java - 非 Web Spring 上下文中的 ApplicationContextInitializer?

我创建了一个ApplicationContextInitializer实现来从客户源(ZooKeeper)加载属性并将它们添加到ApplicationContext的属性源列表中。我能找到的所有文档都与Springweb应用程序有关,但我想在独立的消息消费应用程序中使用它。实例化我的实现、创建上下文,然后将上下文“手动”传递给我的实现的正确方法是什么?或者我是否缺少将我的初始化程序应用于我的上下文的框架的一些自动功能? 最佳答案 我发现通过使用空白上下文进行初始化来实现SpringMVC的初始化上下文策略非常简单。在正常的应用上下文

java - spring-mvc Controller 和异常处理

想问你一个关于spring-mvcController的最佳实践问题。请查看以下代码:@AutowiredSomeServiceservice;@RequestMapping(...)public@ResponseBodyResponsecreateSomething(){try{serviceResponse=service.doSomething();//createasuccessresponseandreturn}catch(SomeServiceExceptione){//createanerrorresponseandreturn}}在Controller级别进行的错误处理

java - JPA 如何在使用父级合并但创建子级时获取生成的 id/对象?

我有一个实体,该实体之前已保留并且与另一个实体具有@OneToMany关系。为了添加一个新实体,我只是在托管对象中添加我的新实体并使用cascadeType.ALL来保存更改。有没有一种方法可以让我获取新创建的对象的ID,或者获取我在合并中使用的原始(非托管)对象以更新其ID?在伪代码中,我希望发生以下情况:将为合并后的实体返回新副本旧副本将针对新实体进行更新例子:父A,id=13childB,id=0本质上,我想在父级上发出merge,但在子级上级联persist(以便更新而不是复制原始子实例)。显然这不会发生。我正在使用hibernate作为提供者。 最

java - JPA native 查询返回具有来自多个表的字段的实体

我在JPANativeSql中有一个查询,我在其中执行表和连接的“联合”。我用来自多个表的所有查询字段创建了一个实体。所以我不能像往常一样使用JPA执行“@Column”“@table”。如何将查询的给定值设置为我的实体? 最佳答案 您可以使用@SqlResultSetMapping将nativeSQL查询返回的列映射到您的实体.Example:Queryq=em.createNativeQuery("SELECTo.idASorder_id,"+"o.quantityASorder_quantity,"+"o.itemASorde

java - JPA - 可选列

我们在每个客户的单独数据库中有许多客户数据,这些数据应该具有相同的架构/表结构。但是,与其他数据库相比,某些数据库中有一个表具有额外的列。例如,对于客户A,有一个包含a、b、c、d列的表X。对于客户B,有一个包含a、c、d列的表X。如果b存在,我需要捕获它,如果不存在,我可以忽略它。有没有办法告诉JPA在这些列不存在时忽略它们?@Basic(optional=true)读起来和我想要的完全一样,但文档表明它用于其他目的。目前,正如预期的那样,我在“字段列表”中得到未知列“table.field”附言不幸的是,我不能只将列添加到没有它们的数据库中。 最佳答案

java - ConstraintViolationException : NOT NULL when using Spring, HSQL 和 Hibernate

当我试图在数据库中插入一个Individual类型的对象时,我得到了一个NOTNULL违反约束的异常。我使用hsql版本2.3.2。我让hibernate为我生成数据库表。在正常代码中(我使用SQLServer数据库)一切正常。这是我的IndividualObject,ID是数据库生成的,是表的主键。单个对象:@XmlRootElement@Entity@Table(name="INDIVIDUALS")publicclassIndividual{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="INDI

java.lang.AssertionError : Content type not set - Spring Controller Junit Tests 错误

我正在尝试对我的Controller进行一些单元测试。无论我做什么,所有Controller测试都会返回java.lang.AssertionError:Contenttypenotset我正在测试这些方法是否返回json和xml数据。这里是Controller的例子:@Controller@RequestMapping("/mypath")publicclassMyController{@AutowiredMyServicemyService;@RequestMapping(value="/schema",method=RequestMethod.GET)publicResponse

java - spring 数据 JpaRepository 方法问题中的 Pageable 和 @Param

我有以下存储库:publicinterfaceMilestoneRepositoryextendsJpaRepository{@Query("selectmfromMilestonemwherem.datefindLeftClosest(@Param("date")Datedate,Pageablepageable);}像上面那样定义工作正常,但如果我切换参数顺序:publicinterfaceMilestoneRepositoryextendsJpaRepository{@Query("selectmfromMilestonemwherem.datefindLeftClosest(P

java - 同时运行 grunt 和 tomcat 服务器的 Web 应用程序(Spring、Angular、Grunt、Maven、Tomcat)

好的,所以我一直在阅读其他几个堆栈问题,并试图在没有太多运气的情况下将它们拼凑在一起。基本上我的方法是我目前有一个项目有多个子项目。我基本上有以下内容:root|----backend|----|----src|----|----|----main|----|----|----|----java(individualjavafilesnotshown)|----|----|----|----resources|----|----|----|----|----META-INF|----|----|----|----|----|----applicationContext.xml|----