-1

以下のリンクに似たものを取得していますjava.lang.IllegalArgumentException。それを解決するために、フィールド タイプを Integer から Long に変更しようとしました。しかし、それでも私は得ています:

Caused by: java.lang.IllegalArgumentException: Parameter value [5] was not matching type [com.buddhiedge.server.entity.StudyplanCategory]

StudyplanCategory はエンティティ クラスです。

問題は、以下のリンクにあるものと似ています。 Hibernate - パラメータ値 [2011] がタイプ [java.lang.Integer] と一致しませんでした。の解き方? 私のエンティティクラスは次のとおりです。

@JsonIgnoreProperties({ "studyplanCategoryList", "dropboxzipfile",
        "parentCategory", "createdDate", "updatedDate" })
@JsonPropertyOrder({ "id", "name", "status", "sptTutorialsList" })
@Entity
@Table(name = "studyplan_category", catalog = "buddhiedgeserver_db", schema = "", uniqueConstraints = { @UniqueConstraint(columnNames = { "dropboxzipfile" }) })
@NamedQueries({

        @NamedQuery(name = "StudyplanCategory.findSubStudyPlanById", query = "SELECT s FROM StudyplanCategory s WHERE s.parentCategory=:parentCategory order by updatedDate DESC")})

    public class StudyplanCategory implements Serializable {
        private static final long serialVersionUID = 1L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Basic(optional = false)
        @NotNull
        @Column(name = "id", nullable = false)
        private Long id;

    }
4

1 に答える 1

0

5パラメータとしてクエリに渡しているようです。エンティティではなく ID を渡したい場合は、クエリを次のように変更します。

WHERE s.parentCategory.id=:parentCategoryId
于 2012-04-28T09:49:49.323 に答える