最近在练习springboot的过程中,发现了一个有意思的事情。springboot使用jpa(java persistence API) 时默认是hibernate,对应的entity实体类的属性名最好不要有大写字母,因为大写字母会被默认改为下划线+小写字母的形式。下面上图:
@Data
@Entity
public class Article {
@Id
private Integer articleid;
private String articleTitle;
private String articleDate;
private String ArticleContent;
private Integer articleType;
}
对应的SQL语句:
Hibernate:
select
article0_.articleid as articlei1_0_,
article0_.article_content as article_2_0_,
article0_.article_date as article_3_0_,
article0_.article_title as article_4_0_,
article0_.article_type as article_5_0_
from
article article0_ limit ?
可以看到除了全是小写的articleid,其余属性的大写字母全部被改成了下划线+小写字母的形式。所以在coding的时候属性名应该避免用大写字母吧。
注:注意第四行属性ArticleContent,首字母A并没有被转换为_a,所以首字母应该不会被转换。