我在数据表和通过data_user表链接的用户表之间有一个Hibernate ManyToMany映射。现在我想更新数据表,以便在数据中再添加一个用户。如何更新链接表(data_user)为新用户添加一个条目?
NonUniqueObjectException:一个具有相同标识符值的不同对象已经与会话相关联。
PS:我对冬眠很陌生。
public class Data {
private int dataId;
private Data parentData;
private Set<User> users;
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(name = "data_user", joinColumns = { @JoinColumn(name = "iddata") },
inverseJoinColumns = { @JoinColumn(name = "iduser") })
public Set<User> getUsers() {
return users;
}
...
}
您需要在实体中重写equals()和hashCode(),否则您迟早会遇到问题,请参阅本文以了解更多细节。
如果在重写equals()和hashCode()之后仍然存在问题,则可以在关系的另一边添加一个mappedBy,请参见此处了解更多细节。
问题内容: 我想使用链接表在Hibernate中映射多对多。我有两个类,例如Parent和Child类: 我用三列的链接表(link_table) ,和。该数据库是SQL Server,并且ID类型是uniqueidentifier。因此,我通常将guid用于id字段。 你怎么能实现这个使用 标签,如果这是要使用正确的标签?您知道有什么好的文档可以做到这一点吗? 我目前正在获取Constraint
问题内容: 我是Elasticsearch的新手,目前正在实现用于搜索的过滤器。到目前为止,我的索引具有以下映射(我已经删除了一些字段): geo_distance字段将在location字段上实现,示例实例如下所示: 即采用geoJSON格式。 我了解我将必须更新索引,以使location字段的类型为,如文档(mapping-geo- point )中所述。似乎我必须删除索引并创建一个新索引,但
我试图使用带有Javascript SDK的UpdateItem将一个字符串集添加到一个项目中的另一个字符串集上 我的参数如下: 现在,这不起作用,因为“添加”仅适用于数字和集合,而该集合嵌套在地图下,会触发以下错误: 运算符或函数的操作数类型不正确;运算符:加法,操作数类型:映射 我尝试将属性名更改为mapName. M. StringSetName,并使值。这没有触发错误,但也没有将值添加到集
我想为我的索引更新elasticsearch中的默认映射。但是所有的文档都指出我们必须为更新映射提供类型。问题是我有很多索引类型,它们是动态创建的,就像新类型的文档出现时一样。所以最好的处理方法是默认映射类型。因为我不必为每个类型定义映射。但现在我无法更新我的索引默认映射。如果可能的话,请告诉我?
我使用mybatis在映射器接口中有一个更新查询
我有一个dynamodb表,它的一个属性包含一个嵌套的映射,我想更新一个特定的库存项目,该项目通过一个过滤器表达式进行过滤,从而从该映射中生成一个项目。 如何编写一个更新表达式来更新位置到名称=欧宝的项目的“就位三”,标签包括“x1”(也可能是f3)?这应该只更新第一个列表元素位置属性。