MyBatisマッピングに問題があります。 私はこのようなドメインのクラスがあります3つの列は、タイプ番号、タイムスタンプと、CLOBのであり、それを持っているデータベースでMyBatis - コンストラクタが見つかりません
@Select("SELECT * FROM MyTable WHERE id=#{id}")
MyClass getMyClass (@Param("id") Long id);
:このような方法に
public class MyClass
{
private Long id;
private Date create;
private String content;
MyClass (Long id, Date create, String content)
{
this.id = id;
this.create = create;
this.content = content;
}
//getters and setters
マッパークラスを名前をクラスフィールドと同じにします。
このメソッドを使用すると、次のような結果が得られます。 ExecutorException:[MyClass;マッチング[java.math.BigDecimalの、をjava.sql.Timestamp、oracle.jdbc.OracleClob]
しかし、私はMyClassのコンストラクタからを削除する場合は、すべてので問題はありません。私はコンストラクタを持っていますが、どうすれば修正できますか? 私はそうのようなマッパーで@Results注釈を追加しようとしたが、それはどんな違いがありませんでした:
@Results(value = {
@Result(column = "id", property = "id", javaType = Long.class),
@Result(column = "create", property = "create", javaType = Date.class),
@Result(column = "content", property = "content", javaType = String.class)
})
をはい、私は空のコンストラクタがありませんでした。私はそれを追加し、すべて正常に動作します。私は数分で受け入れるだろう、それはまだ私にそれをさせていない – enkara
あなたは私の人生を救った。空のコンストラクタが見つかりませんでした。 – mainframer