我想用休眠在 MS SQL 中创建一个对象,这个表的名称是“用户”。这没用!。我认为这个问题可能是由表/实体的名称引起的,用户是关键字。我应该怎么做才能拥有名为“user”的表?
@Entity
@Table(name = "user")
public class User {
我想用休眠在 MS SQL 中创建一个对象,这个表的名称是“用户”。这没用!。我认为这个问题可能是由表/实体的名称引起的,用户是关键字。我应该怎么做才能拥有名为“user”的表?
@Entity
@Table(name = "user")
public class User {
用方括号将表名括起来:
@Entity
@Table(name = "[user]")
public class User {
这样 Hibernate 在创建表时会对其进行转义。如果按照规则将所有字段和表名放在方括号中,则在设置映射时不必考虑底层 DBMS。
<rant>你必须这样做总是困扰着我。Hibernate 的主要目标之一是将您的代码与底层数据库隔离 - 我不明白为什么方言实现不能正确处理转义保留关键字。</rant>
我应该使用重音(`)。为了在休眠中使用关键字,我们必须在关键字周围使用(`)。
@Entity
@Table(name = "`user`")
public class CompanyUser extends