Translation( id, language, text)
StoryChapter (id, chapterTitle)
@Entity
@IdClass(TranslationId.class)
public class Translation {
@Id
private long id;
@Id
private String language;
@Lob
private String text;
}
public class TranslationId implements Serializable {
private long id;
private String language;
}
@Entity
public class StoryChapter {
@Id
private int id;
@ManyToMany
@JoinColumn(
name = "chapter_title",
referencedColumnName = "id"
)
private List<Translation> chapterTitle;
}
我对此代码的唯一关注是,它需要一个新表来连接StoryChapter
和Translation
,我希望避免这种行为(但如果确实不可能的话,就继续执行它)。
使用OneTomany
也是不可行的,因为它需要Translation
表中的其他列,而且这个表稍后将被许多其他实体使用。
因此,使用数据示例,如果在我的translation
表中有一个have:
在Java中,我的chaptertitle
列表应该有两个条目(可用的两种语言)。
这种行为在JPA中可能吗?
解决方案
private long chapterTitle;
@OneToMany
@JoinColumn(name = "id", referencedColumnName = "chapterTitle")
private Set<Translation> chapterTitles;
StoryChapter cannot be cast to class java.io.Serializable
failed to lazily initialize a collection of role: StoryChapter.chapterTitles, could not initialize proxy - no Session
现在一切都按预期工作。
翻译表看起来是一个通用的文本翻译,可以从多个实体引用。StoryChapter和Translation之间的这种关系是单向的、一对多的,在JPA上是支持的。
故事章节可以引用一个翻译的集合:
@OneToMany
@JoinColumn(name = "id", referencedColumnName = "chapterTitle")
private Set<Translation> chapterTitle;
其他使用转换表的实体也可以这样做。
问题内容: 我的PostgreSQL数据库(9.2)中有一个表,其中的列类型为JSON。我很难将此列映射到“ JPA2实体”字段类型。 我尝试使用String,但是当我保存实体时,出现一个异常,即它无法将字符转换为JSON。 处理JSON列时使用的正确值类型是什么? 一个简单的解决方法是定义一个文本列。 问题答案: 请参阅PgJDBC错误#265。 PostgreSQL过于严格,对数据类型转换非常
我目前正在尝试使用ModelMapper的映射方法执行实体到DTO的映射。在最深的属性映射上,映射结果为null,但它应该是一个对象。 以下是我的映射源实体(省略brevety的Loombok getter和setter): 以下是我的目标DTO(省略brevety的Loombok Getter和Setter): 在我的Controller类方法上,我这样做映射: My clientService
问题内容: 在我的项目中,我使用Entity Framework6。我有以下实体: 和 当我插入一个填充了PersonRights的人员对象时,它在数据库中看起来像这样: 人员实体表: PersonRights实体表 当我从数据库加载人时,它没有填充PersonRights属性,这是因为virtual关键字具有延迟加载功能-可以。 然后我得到了person对象的PersonRights,它也可以正
> 状态: } 我在控制台得到的是: 或在创建类时 在这种情况下,如何正确创建实体或在表之间创建引用?
Hi编写Spring应用程序,使用Spring Security。这是我的用户和帐户角色数据库: 我的实体类: 当我尝试登录我的系统我有错误: Hibernate:选择userrolese0_. username作为username3_1_0_,userrolese0_. id作为id1_0_0_,userrolese0_. id作为id1_0_1_,userrolese0_. name作为nam
我有5个班叫 1.Reqest->与请求表映射 2.Team->与Team表映射 假设我创建了一个bean类,如下所示。 现在,由于我已经用Java类映射了所有表,所以我可以使用hql联接查询来获取数据。 我不想在连接中使用纯SQL查询,然后手动将结果Object[]列表从hibernate查询和存根数据迭代到SummaryBean中。 我的问题是我如何使hibernate将那个查询的结果映射到S