hibernate配置的两个model类如下:
1、TsystemRegion类import java.util.HashSet;
import java.util.Set;import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;/**
 * SystemRegion entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "system_region")
public class TsystemRegion implements java.io.Serializable { // Fields /**
 * 
 */
private static final long serialVersionUID = -8761264753260279795L;
private Integer regionId;
private TsystemRegion systemRegion;
private String name;
private Set<TsystemUserRegion> systemUserRegions = new HashSet<TsystemUserRegion>(0);
private Set<TsystemRegion> systemRegions = new HashSet<TsystemRegion>(0);
private Integer state; // Constructors /** default constructor */
public TsystemRegion() {
} /** minimal constructor */
public TsystemRegion(Integer regionId) {
this.regionId = regionId;
} /** full constructor */
public TsystemRegion(Integer regionId, TsystemRegion systemRegion,
String name, Set<TsystemUserRegion> systemUserRegions,
Set<TsystemRegion> systemRegions) {
this.regionId = regionId;
this.systemRegion = systemRegion;
this.name = name;
this.systemUserRegions = systemUserRegions;
this.systemRegions = systemRegions;
} // Property accessors
@Id
@Column(name = "RegionId", unique = true, nullable = false)
public Integer getRegionId() {
return this.regionId;
} public void setRegionId(Integer regionId) {
this.regionId = regionId;
} @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ParentId")
public TsystemRegion getSystemRegion() {
return this.systemRegion;
} public void setSystemRegion(TsystemRegion systemRegion) {
this.systemRegion = systemRegion;
} @Column(name = "Name", length = 36)
public String getName() {
return this.name;
} public void setName(String name) {
this.name = name;
} @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "systemRegion")
public Set<TsystemUserRegion> getSystemUserRegions() {
return this.systemUserRegions;
} public void setSystemUserRegions(Set<TsystemUserRegion> systemUserRegions) {
this.systemUserRegions = systemUserRegions;
} @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "systemRegion")
public Set<TsystemRegion> getSystemRegions() {
return this.systemRegions;
} public void setSystemRegions(Set<TsystemRegion> systemRegions) {
this.systemRegions = systemRegions;
} public Integer getState() {
return state;
}

@Column(name = "State")
public void setState(Integer state) {
this.state = state;
}}2、TsystemUserRegion类import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;/**
 * SystemUserRegion entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "system_user_region")
public class TsystemUserRegion implements java.io.Serializable { // Fields private TsystemUserRegionId id;
private TsystemUser systemUser;
private TsystemRegion systemRegion; // Constructors /** default constructor */
public TsystemUserRegion() {
} /** full constructor */
public TsystemUserRegion(TsystemUserRegionId id, TsystemUser systemUser,
TsystemRegion systemRegion) {
this.id = id;
this.systemUser = systemUser;
this.systemRegion = systemRegion;
} // Property accessors
@EmbeddedId
@AttributeOverrides( {
@AttributeOverride(name = "regionId", column = @Column(name = "RegionId", nullable = false)),
@AttributeOverride(name = "userId", column = @Column(name = "UserId", nullable = false, length = 36)) })
public TsystemUserRegionId getId() {
return this.id;
} public void setId(TsystemUserRegionId id) {
this.id = id;
} @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "UserId", nullable = false, insertable = false, updatable = false)
public TsystemUser getSystemUser() {
return this.systemUser;
} public void setSystemUser(TsystemUser systemUser) {
this.systemUser = systemUser;
} @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "RegionId", nullable = false, insertable = false, updatable = false)
public TsystemRegion getSystemRegion() {
return this.systemRegion;
} public void setSystemRegion(TsystemRegion systemRegion) {
this.systemRegion = systemRegion;
}}以上两个model配置,加了【fetch = FetchType.LAZY】用find查询时还是产生1+n的问题。
求高手解决下怎么配置。Hibernate