java - Hibernate ORM 建模复合键何时将数据插入 MYSQL

标签 java mysql hibernate jpa orm

我正在尝试将 csv 中的数据插入到 MySQL 数据库中,以维护表之间的关系。

CSV 格式:

group1, John, 45, Hockey Fishing Movies
group1, Mary, 28, Dancing Fishing Rugby
group2, Ellen, 18, Fishing Netflix Facebook
group3, Paul, 19, Fishing Facebook Netflix

我有一个数据库架构,如下所示:

enter image description here

我已经抽象了这个示例以适合我的模型,并且在解析、数据库连接等方面没有问题。纯粹是在 hibernate 中对此进行建模以及如何正确执行插入。看了一些不同的 hibernate 教程,但没有看到我要找的东西。就在 hibernate 中建模而言, hibernate 是正确的方法吗?

注意:只需插入

提前致谢,非常感谢任何帮助

最佳答案

对我来说,感兴趣的人看起来像多对多关系,以 person_interest 作为映射表。您可以建模双向 @ManyToMany 关系,例如

@Entity
@Table(name = "Person")
public class Person {
    .....

    @ManyToMany
    @JoinTable(
        name = "person_interest ", 
        joinColumns = { @JoinColumn(name = "personId") }, 
        inverseJoinColumns = { @JoinColumn(name = "interestId") }
    )
    private Set<Interest> interests = new HashSet();

    ..... other attributes and getter/setters
}

这是兴趣与人的反向关系。

@Entity
@Table(name = "Interest")
public class Interest{
    .....

    @ManyToMany
    private Set<Person> persons = new HashSet();

    ..... other attributes and getter/setters
}

进一步了解reading .

关于java - Hibernate ORM 建模复合键何时将数据插入 MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49738644/

相关文章:

mysql - 我可以在 JPA 中按顺序对值求和吗?

java - 从 SQL 插入查询字符串中提取带引号的值

php - 如何将逗号分隔的字符串转换为单列?

java - 约束检查 Controller 层与服务层

mysql - 在具有多个连接的 SQL 中按商品选择最低价格

php - 电视节目推荐算法和 SQL

java - Hibernate 多个异常

java - 如何让 Hibernate 在与 JPA 一起使用时自动在数据库中创建表?

java - 检查 JDBC 选择查询的批量大小

java - 发送数据为 `SNMP Inform`