数据库表映射的Bean对象内的属性有Set,层级关系复杂,我在swagger的参数说明上声明了dataType为这样的Bean时,swagger-ui.html页面显示就卡了。
下面是我其中一个Bean
@Entity
@Getter
@Setter
@Table(name = "dc_user")
public class User extends Base {

    /**
     * 
     */
    private static final long serialVersionUID = -3926742168287198823L;

    @Column(length = 255, unique = true)
    private String name;
    
    @ManyToOne(cascade = { CascadeType.REFRESH })
    @JoinColumn(name = "dc_organ_id")
    private Organ organ;

    @Column(length = 255)
    private String nickname;

    @Column(length = 255)
    private String psw;

    @Column(length = 20)
    private String phone;

    @Temporal(TemporalType.TIMESTAMP)
    @Column
    @NotNull
    private Date lastPasswordResetDate = new Date();

    @OneToMany(cascade = {
            CascadeType.REFRESH }, fetch = FetchType.LAZY, mappedBy = 
"user")
    @Fetch(FetchMode.SUBSELECT)
    private Set<Order> orders = new HashSet<Order>(0);

    @OneToMany(cascade = {
            CascadeType.REFRESH }, fetch = FetchType.LAZY, mappedBy = 
"user")
    @Fetch(FetchMode.SUBSELECT)
    private Set<Coupon> coupons = new HashSet<Coupon>(0);

    @OneToMany(cascade = {
            CascadeType.REFRESH }, fetch = FetchType.LAZY, mappedBy = 
"user")
    @Fetch(FetchMode.SUBSELECT)
    private Set<Hairdresser> hairdressers = new HashSet<Hairdresser>(0);

    @ManyToMany(cascade = { CascadeType.PERSIST,
            CascadeType.MERGE }, fetch = FetchType.LAZY, mappedBy = "users")
    @Fetch(FetchMode.SUBSELECT)
    private Set<Shop> shops = new HashSet<Shop>(0);

    @ManyToMany(cascade = { CascadeType.REFRESH,
            CascadeType.MERGE }, fetch = FetchType.EAGER)
    @Fetch(FetchMode.SUBSELECT)
    @JoinTable(name = "dc_allot", joinColumns = {
            @JoinColumn(name = "dc_user_id") }, inverseJoinColumns = {
                    @JoinColumn(name = "dc_organ_id") })
    private Set<Organ> allot_organs = new HashSet<Organ>(0);

    @ManyToMany(cascade = { CascadeType.REFRESH,
            CascadeType.MERGE }, fetch = FetchType.EAGER)
    @Fetch(FetchMode.SUBSELECT)
    @JoinTable(name = "dc_user_role", joinColumns = {
            @JoinColumn(name = "dc_user_id") }, inverseJoinColumns = {
                    @JoinColumn(name = "dc_role_id") })
    private Set<Role> roles = new HashSet<Role>(0);

    @Override
    public int hashCode() {
        return -1;
    }

}

复杂的结构使得swagger的页面要显示model就很卡了

这个问题如何解决呢?

-- 
You received this message because you are subscribed to the Google Groups 
"Swagger" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to