[JAVA] Vorsichtsmaßnahmen beim Generieren einer Tabelle mit einem zusammengesetzten Schlüssel mit Iciql + SQLite

Einführung

Als ich eine Tabelle aus einem Modell mit einer Kombination aus Iciql + SQLite erstellte, fiel es mir schwer, einen zusammengesetzten Primärschlüssel festzulegen, sodass ich Informationen austauschen kann.

Über Iciql

Siehe hier. http://iciql.com/

Version etc.

· Java-Version ... 8 ・ Version von iciql ... iciql-2.2.1 -Sqlite jdbc Treiber ... sqlite-jdbc-3.8.11.2.jar

Fazit

Stellen Sie den Entschlüsselungsschlüssel wie folgt ein. (Legen Sie den durch Kommas verbundenen Feldnamen in primaryKey fest.)

@IQTable(name = "model", primaryKey= "field1,field2" )
public class Model {
	
	@IQColumn(name = "field1")
	public String field1;
	
	@IQColumn(name = "field2")
	public int field2;
	
	@IQColumn(name = "value")
	public String value;

}

Schlechtes Beispiel 1

Als ich das tat, wurde der Primärschlüssel nur in Feld2 gesetzt. (Legen Sie den Feldnamen im Primärschlüssel als Array fest.)

@IQTable(name = "model", primaryKey={"field1","field2"} )
public class Model {
	
	@IQColumn(name = "field1")
	public String field1;
	
	@IQColumn(name = "field2")
	public int field2;
	
	@IQColumn(name = "value")
	public String value;

}

Schlechtes Beispiel 2

Auch hier wurde der Primärschlüssel nur in Feld2 gesetzt. (Setzen Sie true für jeden Primärschlüssel von @IQColumn.)

@IQTable(name = "model")
public class Model {
	
	@IQColumn(name = "field1", primaryKey=true)
	public String field1;
	
	@IQColumn(name = "field2", primaryKey=true)
	public int field2;
	
	@IQColumn(name = "value")
	public String value;

}

Über andere DB

Mit postgres (*) funktionieren beide oben genannten schlechten Beispiele 1 und 2 wie beabsichtigt. Wir haben keine anderen DBs überprüft.

*) Die postgres-Version ist 9.6 und der jdbc-Treiber verwendet postgresql-9.4.1211.jar.

Recommended Posts

Vorsichtsmaßnahmen beim Generieren einer Tabelle mit einem zusammengesetzten Schlüssel mit Iciql + SQLite
Vorsichtsmaßnahmen beim Schreiben eines Programms: Teil 3
Vorsichtsmaßnahmen beim Ersetzen von Anführungszeichen durch gsub
Vorsichtsmaßnahmen beim Erstellen von PostgreSQL mit Docker-Compose
[Java] Vorsichtsmaßnahmen beim Vergleichen von Zeichenfolgen mit Zeichenfolgen