私はORMliteのマニュアルから賢明ではありません。クラス内で宣言することは可能ですか?このパラメータは外部キーですか?ORMlite Androidの外部キーのサポート
私はテーブルを持っています顧客:
AccountNameHolderは、テーブルAccountsのDatabaseField名を目指すべきです。どうやってするか?私はパラメータforeign = trueだけを見つけましたが、どのパラメータ、どのテーブルからそれが表すかについては何もありません。
おかげ
私はORMliteのマニュアルから賢明ではありません。クラス内で宣言することは可能ですか?このパラメータは外部キーですか?ORMlite Androidの外部キーのサポート
私はテーブルを持っています顧客:
AccountNameHolderは、テーブルAccountsのDatabaseField名を目指すべきです。どうやってするか?私はパラメータforeign = trueだけを見つけましたが、どのパラメータ、どのテーブルからそれが表すかについては何もありません。
おかげ
AccountNameHolderはAccountsテーブルからデータベースフィールド名に向けて目指すべきです。どうやってするか?内部
@DatabaseField(foreign = true) private Account account;
、ORMLiteは
account_id
フィールドを格納します:私はあなたが望むものを正確にはわからないが、おそらくあなたは、名前の代わりに実際のタイプであるためにあなたの外国人のフィールドを変更する必要があり
Customer
テーブルの文字列名(たぶん文字列名)でも構いませんが、心配する必要はありません。 Customer
をクエリすると、account
フィールドに設定されているAccount
にはidフィールドが設定されていることに注意してください。 ORMLiteにもアカウントを検索させるには、foreignAutoRefresh=true
を設定する必要があります。
@Lalitが指摘したように、ここではこのテーマに関するいくつかのドキュメントがあります。私たちはドキュメントに長い時間を費やしましたので、参考にしてください。
これが役に立ちます。
ルックアップのPKでない場合、ルックアップに使用する外部カラム名を定義するにはどうすればよいですか?例 - account.idでない場合)?私はforeignColumnNameアノテーションのようなものを探していますが、存在しません。既存のデータベース(ORMLiteで作成されていない)を、すでに定義された固定列名とFKで使用しているという理由があります。 1つの制約はvarcharカラムの1対1の制約ですが、それは他のテーブルのPKではありませんが、それはユニークです。 –
2012年4月にリリースされたバージョン4.39の 'DatabaseField'アノテーションに' foreignColumnName'が追加されました@MathiasLin。 – Gray
'ndroidCompiledStatement'タグからのログを見て@Gray主キーとして注釈が付けられたフィールドに対してORMLiteが主キーステートメント(INTEGER PRIMARY KEY AUTOINCREMENT)を作成しますが、外部キーとして注釈が付けられたフィールドのステートメントは作成されません(FOREIGN KEY (X_Id) 参照人(Y_Id))。なぜ外部キーのために実行されないのか説明できますか? – Piotr
[こちら](http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_2.html#SEC29)を参考にしてください。 –
http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_2.html#Foreign-Objects –