10

比方说,有一个 Hibernate 实体通过注释配置了字段访问。例如,当从 HQL 查询中引用时,我想映射一个 Java 类字段_name,以便其 Hibernate 的逻辑名称为。name我主要需要这个来收藏。

预测不当建议:无法将访问类型切换为“属性”;该任务与物理列的名称无关。

4

4 回答 4

2

根据我对您问题的理解 - 您可以这样定义实体。这将生成一个名为 (NewName_ABC with a column name) 的休眠表

@Entity
@Table(name = "NewName_ABC")
public class ABC
{
.
@Column(name = "name")
private string _name;
.
.
}

parallely 可以使用 liquibase 创建表。

于 2014-03-05T17:08:35.117 回答
1

你的意思是这样吗?

@Column(name = "name")
private string _name;
于 2013-06-12T17:49:08.140 回答
0

您可以创建具有不同名称的第二个属性指向同一列,并在 HQL 查询中使用它。但是有一个限制:这些属性中只有一个可以映射为可插入、可更新的。

@Column(name="name")
private string name;

@Column(name="name", insertable=false, updatable=false)
private string alsoName;
于 2013-06-13T11:19:48.790 回答
0

您可以在 HQL 中使用别名,就像在 SQL 中使用一样。您无需为此指定任何注释。查询时可以添加注释:

从名称 _name 中选择 id

于 2013-06-17T13:07:44.653 回答