【问题标题】:How to get combine Column name using HQL如何使用 HQL 获取组合列名称
【发布时间】:2016-02-14 17:58:18
【问题描述】:

我有两个以下 Java 实体

    @Entity(table="user_profiles")
class Profile{
@Column(name="id")
@Id
@GeneratedValue
private Integer id;

@Column(name="first_name")
private String firstName;

@Column(name="last_name")
private String lastName;

}

还有

@Entity
@Table(name="threads")
class Thread {

@Column(name="thread_id")
@Id
@GeneratedValue
private Integer threadId;

@Column(name="to_profile_name")
private String toProfileFullName;

@Column(name="from_profile_name")
private String fromProfileFullName;

@Column(name="to_profile_id")
private Integer toProfileId;

@Column(name="from_profile_id")
private Integer fromProfileId;

}

我需要用 Profile 类的 firstName+lastName 填充 toProfileFullName 和 fromProfileFullName,fromProfileId 和 toProfileId 是 Profile 类的外键,有没有使用 HQL 的方法?还是跟Hibernate的关系?

【问题讨论】:

    标签: java sql hibernate hql


    【解决方案1】:

    您需要在ProfileThread 之间创建映射。根据您的数据模型查找OneToOneOneToManyManyToOneManyToMany

    然后我将在 Thread 中创建临时 getter,这将只是 return getProfile().getFirstName() + getProfile.getLastName()

    【讨论】:

    • 有关 HQL 解决方案和更多信息,请参阅 stackoverflow.com/questions/17910428/… 我有点喜欢 @Formula 方式,但我在回答中提出的瞬态吸气剂是迄今为止最简单的(但在 HQL 中不可用)。
    猜你喜欢
    • 2017-07-23
    • 2013-07-23
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2016-04-08
    相关资源
    最近更新 更多