Möglich, nicht-ID-Feld zu verwenden, aber einen anderen Spaltennamen? Fahrstuhl

StackOverflow https://stackoverflow.com/questions/3018795

  •  26-09-2019
  •  | 
  •  

Frage

Ich bin auf eine Oracle-Datenbank von einem scala / Lift Webapp verbunden. Ich konnte erfolgreich Informationen aus der Datenbank ziehen, wie ich wollte, aber ein Problem habe.

Für jede Tabelle I zugreifen mag ich bin verpflichtet, ein ID-Feld hinzufügen, so dass der App mit dem Merkmale IdPK funktionieren wird.

Was Mapper-Klasse oder Eigenschaft kann ich diese außer Kraft zu setzen? Ich habe versucht, einen zu finden, aber es nicht gelungen, sie ausfindig zu machen. Figured Menschen haben nicht immer ein ID-Feld auf jedem Tisch sie das ist nur genannt ID ...

machen mußten
class DN_REC extends LongKeyedMapper[DN_REC] with IdPK { 
 def getSingleton = DN_REC 

 object dn_rec_id extends MappedInt(this){
 }

Das ist, was ich rede. Ich möchte die dn_rec_id als meine primäre Schlüssel verwenden, wie es auf dem Tisch ist.

Danke

War es hilfreich?

Lösung

Kein Grund, warum Sie die IdPK Eigenschaft verwenden. Wenn Sie Quelle überprüfen, werden Sie sehen, seine wie folgt definiert:

trait IdPK /* extends BaseLongKeyedMapper */ {  
  self: BaseLongKeyedMapper =>  
  def primaryKeyField = id  
  object id extends MappedLongIndex[MapperType](this.asInstanceOf[MapperType])
}  

Also im Grunde, es justs schafft einen langen Index mit dem Namen id und macht es den Primärschlüssel. Sie können dies leicht tun, um sich mit einem anderen Namen für die ID.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top