从查询返回时,scala类中未设置任何字段

从查询返回时,scala类中未设置任何字段,scala,orientdb,Scala,Orientdb,我有一个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 = _ } 我可以成功地在数据库中创建和存储用户对象,但当我查询用户时,例如D

我有一个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.queryBySql[User]选择*from User where email=?,username

我得到一个用户对象,但所有字段都为空

在单步执行代码时,我可以从DB中看到正确的结果,POJO转换失败了

我正在使用scala 2.9.2和Orient DB 1.1.0


我做错了什么?

我在以下位置做了示例说明: 此示例使用本地连接

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已弃用。 我在这段代码之后使用db2而不是db

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

我在以下位置进行了示例说明: 此示例使用本地连接

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已弃用。 我在这段代码之后使用db2而不是db

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

我想这可能是因为Scala创造了一个能手和一个二传手,但是在和Fredrik讨论过之后,我认为情况并非如此。添加@BeanProperty注释没有帮助,因此删除了我的答案。我也尝试了与上面链接中完全相同的代码,得到了相同的结果。我想这可能是因为Scala生成了getter和setter,但在与Fredrik讨论并查看之后,我认为情况并非如此。添加@BeanProperty注释没有帮助,因此删除了我的答案。我也尝试了与上面链接中完全相同的代码,得到了相同的结果。将检查谷歌群组上的OrientDB。