2014-10-31 99 views
0

UserDetails.java例外:org.hibernate.MappingException:在映射重复列实体

@Entity 
@Table(name="userdetails") 
public class UserDetails { 
//@Id @GeneratedValue(strategy=GenerationType.AUTO) 
@Id @Embedded 
//@EmbeddedId 
private int userId; 
private String userName; 
@Embedded 
@AttributeOverrides({ 
@AttributeOverride(name="street",[email protected](name="home_street_name")), 
@AttributeOverride(name="city",[email protected](name="home_city_name")), 
@AttributeOverride(name="state",[email protected](name="HOME_STATE_NAME")), 
@AttributeOverride(name="pincode",[email protected](name="HOME_PINCODE")) 
}) 
private Address homeAddress; 
@Embedded 
private Address officeAddress; 

public Address getHomeAddress() { 
    return homeAddress; 
} 
public void setHomeAddress(Address homeAddress) { 
    this.homeAddress = homeAddress; 
} 
public Address getOfficeAddress() { 
    return officeAddress; 
} 
public void setOfficeAddress(Address officeAddress) { 
    this.officeAddress = officeAddress; 
} 
public int getUserId() { 
    return userId; 
} 
public void setUserId(int userId) { 
    this.userId = userId; 
} 
public String getUserName() { 
    return userName; 
} 
public void setUserName(String userName) { 
    this.userName = userName; 
} 

}

Address.java

@Embeddable 
public class Address { 
@Column(name="street_name") 
private String Street; 
@Column(name="city_name") 
private String city; 
@Column(name="state_name") 
private String state; 
@Column(name="pin_code") 
private String pincode; 
public String getStreet() { 
    return Street; 
} 
public void setStreet(String street) { 
    Street = street; 
} 
public String getCity() { 
    return city; 
} 
public void setCity(String city) { 
    this.city = city; 
} 
public String getState() { 
    return state; 
} 
public void setState(String state) { 
    this.state = state; 
} 
public String getPincode() { 
    return pincode; 
} 
public void setPincode(String pincode) { 
    this.pincode = pincode; 
} 

}

正在运行时得到例外,

Exception in thread "main" org.hibernate.MappingException: Repeated column in mapping for entity: embedded.UserDetails column: street_name (should be mapped with insert="false" update="false") 
+1

请添加框架相关的标签相关的具体框架的问题。现在添加。 – 2014-10-31 07:18:27

+0

你不明白哪部分异常信息? – csmckelvey 2014-10-31 07:18:44

+0

是hibernate的新功能。我没有得到重复的颜色 – 2014-10-31 07:31:15

回答

1

尝试改变在Address类

private String Street;以下行private String street;

哦,下面并没有在我身边工作。我曾在的UserDetails类

@Id @Embedded 
//@EmbeddedId 
private int userId; 

以下改变这种

@Id 
//@EmbeddedId 
private int userId;