jhipster:将@ElementCollection添加到现有实体

时间:2015-12-12 17:06:59

标签: java jpa jhipster

我试图手动使用@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 。我错过了什么吗?我需要做些什么才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

JHipster仅支持实体之间的关系,因此将您的关系添加到您的entity.json无法正常工作,应将其删除。

所以为了让它发挥作用,你是独立的,但JHipster不应该妨碍你。 您必须创建一个Liquibase迁移文件来创建表并从master.xml引用此文件,我想这就是您所做的。

LazyInitializationException是一个常见错误,请查看LazyInitializationException when using ElementCollection in Play framework