使用字符串而不是对象加入另一个实体

时间:2019-02-24 16:50:26

标签: java spring-boot jpa spring-data-jpa

问题

是否可以使用字符串而不是对象将实体连接到另一个实体?

我想加入两个实体来创建约束。确实,只有在数据库中存在作者的情况下,才能创建文章。

示例

使用对象的代码

@Entity
public Article {

    @Id
    private String id;
    @ManyToOne
    private Author author;
    ...
}

@Entity
public Author {

    @Id
    private String id;
    private String authorname;
    ...
}

使用字符串的代码(我的愿望)

@Entity
public Article {

    @Id
    private String id;
    @ManyToOne
    private String authorname;
    ...
}

@Entity
public Author {

    @Id
    private String id;
    private String authorname;
    ...
}

类似的东西:

@ManyToOne
@Join(table="author", name="authorname")
private String authorname;

感谢您的回答。

编辑1

我的目标是只拥有authorname,而没有关于author的其他信息。

那么也许可以使用private Author author并仅保留他的名字吗?

有类似的东西

{
    "title" : "Article title",
    "author" : "Author name",
    "date" : "2019-02-23",
    ...
}

而不是:

{
    "title" : "Article title",
    "author" : {
         "authorname" : "Author name",
         "Age" : "51",
         ... 
    }
    "date" : "2019-02-23",
    ...
}

0 个答案:

没有答案