オープンソースプロジェクト(ピラー)に新しい機能を追加して、Cassandraテーブルを移行しました。私は新しいテーブルを挿入する操作に問題があります。 カサンドラのテーブルがあります:ScalaのAnyRefへのプリミティブ型
create table customer( name text, age int, point int, primary key(name, age) )
私はtest_personテーブルにこのテーブルから移行したいです。ここで
create table test_person ( name text, surname text, point int, city text, primary key(name) )
操作です:
var s: PreparedStatement = session.prepare("insert into test_person (name, age, point) values (?, ?, ?)");
var r: Row = session.execute("select * from customer").one()
var arr: Array[AnyRef] = new Array[AnyRef](3)
arr(0) = row.getObject("name")
arr(1) = row.getObject("age")
arr(2) = row.getObject("point")
session.execute(s.bind(arr))
これはエラーメッセージです: 型の不一致は、オブジェクトへのプリミティブな値を割り当てることができません。
私はオブジェクトとして取得し、AnyRef型の配列を割り当てます。なにが問題ですか?
にはどうすればいいのIntにはjava.lang.Integerから起こっ暗黙の変換があるので、これが起こっているこの
行はエラーをスロー:あなたはあなたのケースで
Array[Any]
を使用できますか? – Samararr(1)= row.getObject( "age") arr(2)= row.getObject( "point") – Mustafa
row.getObject( "age")はオブジェクトまたはintを返しますか? – Samar