我试图手动使用@ElementCollection,因为在jhipster文档的关系部分没有提到它。我已经改变了java类,尝试通过 mvn liquibase:diff 生成liquibase文件,然后在我的entity.json中包含一个关系
"relationships": [
{
"relationshipId": 1,
"relationshipName": "contato_telefone",
"otherEntityName": "telefone",
"relationshipType": "one-to-many",
"otherEntityField": "telefone",
"ownerSide": true
}
实体类
@ElementCollection
@CollectionTable(name = "contato_telefone", joinColumns = @JoinColumn(name = "id_contato"))
@Column(name = "telefone")
private List<String> telefone;
当我尝试运行应用时,我收到了LazyInitiationException,并且未创建关系表 contato_telefone 。我错过了什么吗?我需要做些什么才能解决这个问题?
答案 0 :(得分:0)
JHipster仅支持实体之间的关系,因此将您的关系添加到您的entity.json无法正常工作,应将其删除。
所以为了让它发挥作用,你是独立的,但JHipster不应该妨碍你。 您必须创建一个Liquibase迁移文件来创建表并从master.xml引用此文件,我想这就是您所做的。
LazyInitializationException是一个常见错误,请查看LazyInitializationException when using ElementCollection in Play framework