2

私はScalaクラスを持っています、ユーザー:

class User {
   @OId var id: String = _

   var email: String = _

   var password_hash: String = _
   var password_salt: String = _

   var admin : Boolean = _

   @OVersion var version: String = _
}

ユーザーオブジェクトを正常に作成してDBに保存できますが、ユーザーをクエリすると、たとえばdb.queryBySql [User]( "select * from User where email =?"、username)

Userオブジェクトを取得しましたが、すべてのフィールドがnullです。

コードをステップ実行すると、DBから正しい結果を確認できますが、POJO変換が失敗します。

私はscala2.9.2とOrientDB1.1.0を使用しています。

私は何が間違っているのですか?

4

1 に答える 1

0

http://code.google.com/p/orient/wiki/ScalaLanguage この例では、ローカル接続を使用しています

var db: ODatabaseObjectTx = new ODatabaseObjectTx("local:/tmp/dbtmp")

メインアプリを少し変更。OrientDb パッケージの構成に合わせてインポートを変更します。

import com.orientechnologies.orient.core.id.ORecordId
import com.orientechnologies.orient.core.sql.query.OSQLSynchQuery
import scala.collection.JavaConverters._
import scala.collection.JavaConversions._
import com.orientechnologies.orient.core.db.`object`.ODatabaseObject
import com.orientechnologies.orient.`object`.db.ODatabaseObjectTx

そして、コネクションの開き方を変えます。ODatabaseObjectTx は推奨されていないことに注意してください。このスニペットの後、db の代わりに db2 を使用します。

var db2:ODatabaseObject =
if (!db.exists) {
  db.create()
} else {
  db.open("admin", "admin")
}

これらのパッケージをインポートします:

orient-commons:1.1.0
orientdb-core:1.1.0
orientdb-object:1.1.0
hibernate-jpa-2.0-api:1.0.0.Final
scala-library:2.9.2
于 2012-10-08T19:44:21.360 に答える