gpt4 book ai didi

java - 使用 Play Framework 和 JPA 连接两个表

转载 作者:搜寻专家 更新时间:2023-10-31 20:15:15 24 4
gpt4 key购买 nike

如何使用 java play framework 和 jpa 连接两个表,我真的很难将我的 MySQL 查询转换为 jpa 查询。

这是我在旧 Java 代码中使用的 MySQL 查询:

SELECT * FROM tbl_majors
INNER JOIN tbl_lookup_user_major
ON tbl_majors.id=tbl_lookup_user_major.majorId
WHERE tbl_lookup_user_major.userId=12

//表1:

@Entity
@Table(name="tbl_majors")
public class Major extends Model {
public Major(){

}
@Column(name="major_name")
private String name;
@Column(name="major_desc")
private String description;
}

//表2

@Entity
@Table(name="tbl_lookup_user_major")
public class LookupUserMajor extends Model {
public LookupUserMajor(){

}
private int majorId;
private int userId;
}

最佳答案

不知道我说的是否准确,但是在教程博客“YABE”中,这种连接表是由 Play 自动创建的:

http://www.playframework.org/documentation/1.2.4/guide6#tagging

模型中描述了多对多关系(博客示例中的“帖子”和“标签”之间):

@ManyToMany(cascade=CascadeType.PERSIST)
public Set<Tag> tags;

public Post(User author, String title, String content) {
...
this.tags = new TreeSet<Tag>();
...
this.title = title;
this.content = content;
...
}

帖子数据的 YAML 是:

Post(jeffPost):
title: The MVC application
postedAt: 2009-06-06
author: jeff
tags:
- play
- architecture
- mvc

运行该应用程序后,我检查了数据库,自动创建了表“post_tag”,并完成了两个表之间的所有链接(填充了 post_ids 和 tags_ids)。

检索数据似乎很简单:

"select distinct p from Post p join p.tags as t"

有人可以证实吗?因为是 Java 和 JPA 以及 Play 的新手 ^^

如果这是正确的,它看起来比“手动”管理连接表更容易。

关于java - 使用 Play Framework 和 JPA 连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7873163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com