1

假设表“Users”包含列名“User_Id”

所以我将该方法命名为用户实体findByUserId(字符串用户Id); ....

但是,如果有另一个名为“UserId”的列,那么哪个列将获得首选项?

示例表如下所示:

Id用户Id用户名1个xdf23e xdf23e测试用户
  • 6
    这张桌子无关紧要。重要的是你的实体。但坦率地说,无论是表还是实体,具有名为UserId的列/属性和另一个名为User_Id的列/特性都是一个非常糟糕的主意。你是通过这样做来发现错误和问题。 评论 2019年10月12日12:58
  • 我同意你的观点,我只是想知道实际发生了什么。。你通过说“重要的是你的实体”来消除疑虑。。谢谢:) 评论 2019年10月12日13:03
  • 1
    始终为此使用唯一Id。所以它根本不会被复制。 评论 2019年10月12日13:06

2个答案2

重置为默认值
0

我同意JB Nizet的说法。话虽如此:首先,我总是使用come-case来表示实体字段。(参见弹簧文档

弹簧数据文档因为我们将下划线字符视为保留字符,所以强烈建议遵循标准的Java命名约定(即在属性名称中不使用下划线,而是使用驼峰大小写)。

如果不可能,可以用双下划线(__)转义字段名称中的下划线。

0

正如@JB Nizet解释的那样“重要的是你的实体",

此外,考虑到一个使用hibernate的JPA示例,JPA/hibernate将根据您的实体生成名称。如果数据库中有两列无关紧要,则可以始终在实体中使用不同的名称,并使用@column注释将它们映射到正确的列。

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.