gpt4 book ai didi

java - 设计数据库自动完成功能的最佳方法

转载 作者:行者123 更新时间:2023-11-29 23:28:43 24 4
gpt4 key购买 nike

设计自动完成功能数据库的最佳方法。我有以下用例(使用技术 JAVA、SPRING、HIBERNATE、Mysql):

我有与技能相关的专业详细信息(多对多关系)。

public class ProfessionalDetailsDTO {

private Integer professionalId;
//many to many
private List<SkillsDTO> profileSkills;

setter and getter ...

}


public class SkillsDTO {
private String skillName;
private Integer skillRating;
private Integer skillId;

setter and getter
}

现在从 UI 当我键入技能时,我应该得到有效技能建议(如 JAVA、Hibernate)。人们可能会保存虚拟技能或突然值 (例如 XYZ )在技能表中,所以我不想在自动完成中将其显示为建议。

我现在可以想到以下方法:-

方法 1: 有四个表,如下所述

1.专业详情

column:professionalId

2.技能 列:技能 ID、技能名称、技能等级

3.专业技能 列:skillId,professionalId

<强>4。预定义技能 列:id,技能名称

最好的做法是再多一张用于预定义技能的表,该表将用于自动建议和从 预定义的表会存储在技能表中吗?

缺点:技能名称将在技能表中重复。

方法 2: 在此方法中,SkillRating 已移至 professional_Skills 表,并且 Skillname 在 SkillTable 中是唯一的 这里我必须将SkillDTO映射到Tables。我必须使用注释,例如@secondaryTable。

1.专业详情 栏目:专业ID

2.技能 列:技能ID,技能名称

3.专业技能 列:skillId,professionalId,,skillRating

方法 3 与方法 2 相同,但不使用 hibernate 注释,而是使用查询插入到 professional_Skills 表中。

请向我建议一些实现上述用例的最佳行业实践提前致谢。

最佳答案

以下链接描述了实现上述用例的最佳解决方案(即具有附加列的多对多): http://en.wikibooks.org/wiki/Java_Persistence/ManyToMany发布此内容可能会对其他人有所帮助。

关于java - 设计数据库自动完成功能的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26744914/

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