java - 如何映射java对象和java对象映射之间的关系
问题描述
我有一个名为的 java 对象
public class MyObject {
@ElementCollection
Map<Integer, AnotherJavaObject> customMap;
}
public class AnotherObject {
String value;
int value;
}
这可以通过休眠实现吗?另一个对象是实体吗?MyObject 类中的映射应该是什么?
阅读后,我将 AnotherObject 注释如下
@Entity(name = "AnotherObject")
public class AnotherObject {
@ManyToOne
Myobject myObject;
}
And in the MyOBject class created a @OneToMany mappng as
@OneToMany(mappedBy="myObject)
AnotherObject anotherObject;
但这给了我一个错误
org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: MyObject.anotherObject
所以我通过注册课程来克服这个错误,但我在合并时遇到这个错误
object references an unsaved transient instance - save the transient instance before flushing:
解决方案
试试这个
public class MyObject {
int id;
@ManyToMany
@JoinTable(
name="AuthorBookGroup",
joinColumns={@JoinColumn(name="fk_myobject", referencedColumnName="id")},
inverseJoinColumns={@JoinColumn(name="fk_anotherobject", referencedColumnName="id")})
@MapKey(name = "value2")
Map<Integer, AnotherJavaObject> customMap;
}
public class AnotherObject {
String value1;
int value2;
int id;
}
推荐阅读
- node.js - 问题:TypeError:无法读取未定义的属性“地图”
- asynchronous - 如何实现看起来同步模仿 async / await 的异步代码?
- php - 如何限制用户通过 url 访问其他页面?
- while-loop - 错误 - 在 While 循环结束时出现意外 }
- c - 在二进制文件中调用导出的函数
- android - 当属性格式为“引用”时,如何在 Android 中为自定义属性使用数据绑定?
- iis - 从 IIS 中删除同一应用程序的重复文件
- python - 预处理多元时间序列
- assembly - 我的程序不会对大于 130 的数组进行排序
- java - 贪吃蛇游戏,处理长度增加