我是spring和spring-boot的新手,在学习Spring CRUD时,我浏览了不同的文章,并且看到了这些内容。
”以及为什么@Entity注释是强制性的?…嗯,这就是JPA的设计方式。创建新实体时,您至少要做两件事 用@Entity注释它 创建一个id字段并使用@Id对其进行注释 其他任何东西都是可选的,例如,表名是从实体类名派生的(因此@Table批注可以是可选的),表的列是从实体变量派生的(因此@Column批注可以是可选的),依此类推…… “
所以我的问题是,如果我们不提供Error connecting to the service protocol: HttpException: Connection closed before full header was received, uri = http://127.0.0.1:52661/75sNfQnMaEw=/ws
批注和@Table
批注,spring将如何对表及其列名进行分叉。
答案 0 :(得分:1)
您在Spring Boot上下文中询问您的问题。有两个选项可以确定命名策略:
spring.jpa.hibernate.naming.implicit-strategy
当我们在实体定义中未明确提供表名和列名时,此选项用于确定名称
通常,该默认设置为:ImplicitNamingStrategyJpaCompliantImpl
spring.jpa.hibernate.naming.physical-strategy
这是更可定制的,可插入的策略合同,用于为数据库对象名称应用物理命名规则。
默认情况下,使用SpringPhysicalNamingStrategy
时所有点的驼峰式大写字母都用下划线代替。另外,表名以小写形式生成。