当前位置: 首页 > 知识库问答 >
问题:

使用Spring Data JPA进行基于属性的查询

经炜
2023-03-14

我需要一个带有System_id、name、description等的Registered_Systems表。现在,每个系统可以有n个属性,我计划将它们存储在子表Registered_System_Attributes(System_id、Attribute_name、Attribute_Value)中,外键为Registered_Systems.System_id

由于属性必须与系统相关联,所以我计划将类RegisteredSystemAttribute设置为可嵌入的,并定义

@Entity
@Table(name = "Registered_Systems")
public class RegisteredSystem {
...

 @ElementCollection
 @CollectionTable(name = "Registered_System_Attributes", joinColumns = { @JoinColumn(name = "System_id", referencedColumnName = "System_id") })
 private Set<RegisteredSystemAttribute> registeredSystemAttributes;
 ...
}

我在用

  • spring-data-commons-1.6.3.release.jar
  • spring-data-jpa-1.4.3.release.jar
  • (i)hibernate-entitymanager-4.2.14.sp1-redhat-1.jar,(ii)JBOSS EAP 6.3提供的hibernate-jpa-2.0-api-1.0.1.final-redhat-2.jar

共有1个答案

蒲深
2023-03-14

我想您正在寻找的是JPA2.1地图集合(JSR388,section 2.7)。所以在你的情况下:

@ElementCollection
@CollectionTable(name="Registered_System_Attributes")
@MapKeyColumn(name="Attribute_name")
@Column(name="Attribute_Value")
private Map<String, String> registeredSystemAttributes;
 类似资料:
  • 在这种情况下,我需要根据项的某些属性(即条件是内部的而不是外部的)筛选。我发现javafx有,所以我尝试了一下。我可以设置谓词和筛选工作,直到确定筛选的属性值发生变化。现在可以像下面这样设置谓词: 由于谓词返回boolean而不是BooleanProperty,因此对该属性的更改不会反映在列表中。 对此有什么简单的解决办法吗?我可以尝试做一些变通方法,例如创建一个单独的列表并同步它,或者每次属性在

  • 我正在使用JavaFX属性的模型实体consitiing witch允许我更改单个位置上的值,将它们绑定到UI,并在模型实体数组中添加带有额外条件的更改的监听器(惟一值等)。 我必须将模型存储在数据库中,所以问题如下: 注意:一些可绑定属性根本不必持久化。

  • 问题内容: 我有一个元组列表。[(1、2),(2、3),(4、3),(5、6),(6、7),(8、2)] 我想根据连接的元组将它们分组为列表(具有相关值)。 因此最终结果是两个相关元组值的列表= [[1、2、3、4、8],[5、6、7]] 如何编写一个函数来做到这一点?这是工作面试的问题。我试图在Python中执行此操作,但是我很沮丧,只是想看看答案背后的逻辑,所以即使是伪代码也可以帮助我,所以我

  • 我必须查询一个属性值,然后在此基础上从不同的节点找到另一个属性值。 以下是我的XML的外观: 示例:我需要查询的属性值位于第101行。我必须取引用节点的节点id,在这个例子中是“3”: 然后我需要在XML中进一步搜索,它应该找到id="3"的节点,然后寻找名为"长度"的属性,并返回它的值,在这个例子中是"10": 我已经编写了以下XSLT代码,但需要添加更多代码以正确获取长度部分: 请建议如何获得

  • 使用Jackson过滤掉属性非常简单: 我正在尝试将其集成到我的Jersey REST应用程序中。API用户可以通过提供查询字符串来过滤属性: 在泽西岛最优雅的方式是什么?我可以很容易地在我的资源方法中执行上述操作,但这不知何故破坏了Jersey的优雅。此外,我认为为每个请求创建一个新的ObjectMapper会导致性能下降。 我可以编写一个MessageBodyWriter,它从UriInfo上

  • 我有一个使用Postgre 9.3和JPA2.1(Hibernate实现)的Spring MVC应用程序。我有一个类'电影',其中有一组评论。我想写一个JPA NamedQuery,它返回我所有的电影细节,但只有批准的评论。评论可以有其他状态,但我想只显示批准的评论。 我的班级如下所示: 我写的查询不会过滤评论并返回包含所有评论的电影;它的工作原理与上面显示的findMovieById查询相同。