现有用户类:
@Entity
@Table(name = "tbl_user")
public class User {
private Long id;
private String loginName;
private Long orgId;
private String orgName; @Id
@GeneratedValue(generator = "user", strategy = GenerationType.TABLE)
@TableGenerator(name = "user", table = "seq_int", pkColumnName = "name", valueColumnName = "value", pkColumnValue = "system_user", allocationSize = 1, initialValue = 1000)
public Long getId() {
return id;
} public void setId(Long id) {
this.id = id;
} @Column(name = "login_name")
public String getLoginName() {
return loginName;
} public void setLoginName(String loginName) {
this.loginName = loginName;
} @Column(name = "org_id", insertable = false, updatable = false)
public Long getOrgId() {
return orgId;
} public void setOrgId(Long orgId) {
this.orgId = orgId;
} //如何写
public String getOrgName() {
return orgName;
} public void setOrgName(String orgName) {
this.orgName = orgName;
}
}用户表tbl_user 与 组织关系表tbl_org 是一对多的关系tbl_user.org_id = tbl_org.id现在我想在User类中引入orgName 字段。直接取tbl_org.name 的值,通过jpa或hibernate注解该如何写? 本人不需要再新建Org类,你们懂得。

解决方案 »

  1.   

    private Set<User> Org= new HashSet<User>();
    @OneToMany(cascade = {CascadeType.REFRESH,CascadeType.REMOVE})
    public Set<User> getOrg() {
    return Org;
    }
    你试试看,这样可以不,第一次回帖哈哈
      

  2.   

    你这个应该需要建个Org对象,然后写在Org对象中。我是想在User中直接能得到映射的orgName值。
    目前我的项目中是有Org 对象的,每次获取orgName是通过user.getOrg().getName() 这样获取的
    现在直接想把orgName 冗余到User对象中,但是数据库中user表是没有org_name 这个字段的。
    如果能直接定义SQL多好,如下:
    @SQL("SELECT name FROM org WHERE id={alias}.id")
    public String getOrgName() {
    return orgName;
    }