Я пытаюсь сопоставить свою таблицу User с объектом домена scala, который называется UserEntitiy.
Столбец Int с именем CreatedBy в таблице User имеет нулевые значения, при вызове userRepository.findOne () или .findAll () я обнаруживаю исключение NullPointerException.
Обновление значений столбца Int до любого допустимого значения Int решает проблему.Однако, в нашем случае использования, мы должны хранить пустые значения в некоторых столбцах типа int, если нет доступных значений.
Вот моя черта UserRepository, объект Entity и Controller.
UserRepository.scala
import org.springframework.data.repository.CrudRepository
import org.springframework.stereotype.Repository
@Repository
trait UserRespository extends CrudRepository[UserEntity, Int] {
}
UserEntity.scala
import java.util.Date
import org.springframework.data.cassandra.core.cql.PrimaryKeyType
import org.springframework.data.cassandra.core.mapping.{PrimaryKey,
PrimaryKeyColumn, Table}
@Table(value="User")
class UserEntity extends Serializable {
@PrimaryKey
var userID: Int = _
@PrimaryKeyColumn(`type` = PrimaryKeyType.CLUSTERED)
var enterpriseID: Int = _
var createdBy: Int = _
}
CoreController.scala
@RestController
@RequestMapping(path = Array("/hello"))
@ResponseBody
class CoreController {
@Autowired
var userRepository : UserRespository = null
@GetMapping(Array("/"))
def getUser(): ResponseBody = {
var a:UserEntity = userRepository.findById(4000).get() //NPE Here.
null
}
}
Что я пробовал:
1.Использование опций типа данных для столбца созданного.
2. Изменение установщика для CreatedBy для установки -1, если значение в аргументе равно нулю.
Любая помощь будет принята с благодарностью, спасибо.