問題タブ [ormlite]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android、Ormlite、DBの場所
Ormlite を使用して、Android アプリ (Motorola Xoom で実行) からのデータの一部を保持しています。デフォルトでは、sql データベースは /data/data/[パッケージ名]/databases/[dbname].db に保存されます。問題は、Xoom がルート化されていないため、ユーザーがデータベースが保存されているディレクトリにアクセスできないことです (データベースの内容をコピー/バックアップ/編集することはできません)。
クラスの 1 つに余分なコードを追加して、db を /data から sd カードにコピーしましたが、これは正常に動作しますが、現実的には、db が格納されている場所のパスを設定できるはずだと思います。何か不足していますか、それとも Ormlite では不可能ですか?
前もってありがとう、C
android - SQLiteとAndroidでORMLiteを使用するための良いチュートリアルは何ですか
SQLiteとAndroidでORMLiteを使用する方法についての優れた入門チュートリアルを探しています。qucick google検索では、有用な情報は得られませんでした。
android - OrmLiteによる遅い更新
構造が単純ですが、データベースのレコードの更新に時間がかかりすぎることに気付きました。
これが私のデータクラスの定義方法です。
そして、これは私のアプリケーションのどこかにある更新ステートメントです。
SQLは次のようになります。
問題がどこにあるのか誰かがわかりますか?.update()には数秒かかり、すぐに実行する必要があります。
どんなアイデアでも素晴らしいでしょう。
java - ORMLite-読み取りオブジェクトに同じIDを強制します
ORMLiteでオブジェクトの階層を読んでいます。それは木のような形をしており、親に@ForeignCollection
は0+
子があり、すべての子はその親をで参照し@DatabaseField(foreign=true)
ます。階層全体を一度に読んで保存しています。
私はORM全般、およびORMLiteを初めて使用するため、データベース内の同じIDを持つオブジェクトが読み取られたときに、同じIDを持つ実際に同じオブジェクトとして作成されないことを知りませんでした。ただし、同じIDを持つ複数の複製として。つまり、私は今、(「->」は「参照する」を表すとしましょう)A-> B-> C!= C->B->Aという問題に直面しています。
提供されたDAOを手動で読み取り、IDでまとめて、同じIDを持つオブジェクトが同じIDを持つようにすることで、問題を解決しようと考えていました。
これを解決するORMLiteネイティブの方法はありますか?はいの場合、それは何ですか、そうでない場合、この問題を解決する一般的な方法は何ですか?これはORMの一般的な問題ですか?名前はありますか(詳しく知りたい)?
編集:
私の階層では、1つの建物に複数のフロアが含まれ、各フロアがその建物を認識し、各フロアに複数のゾーンが含まれ、すべてのゾーンがそのフロアを認識します。
ormlite - 初心者のためのOrmliteクエリヘルプ
OrmliteとAndroid/Sqliteにいくつか問題があるので、助けていただければ幸いです。データベース構造は
クエリは
次のエラーがスローされます
IDを文字列値として渡す場合、クエリにそのように表示されないのはなぜですか?
スローされる最後のエラーは
これは元のエラーに関連していると思いますか?
前もって感謝します
android - Androidでormliteを使用して削除しますか?
私は Client Bean を持っています。
そして City Bean 、
これらの Bean は単なる例ですが、たとえば、都市を削除するときに、外国の都市 cityId を持つすべてのクライアントを削除したいとします。
それはどのように可能ですか?
android - 2 つのスレッドでの 2 つの SQLite トランザクションの同時実行
Android アプリに特定の更新メソッドがあり、かなりの量のデータ (最大で数百のデータベース エントリ) が生成されます。UI スレッドとは別に、バックグラウンド サービスもあります。両方のスレッドが更新メソッドを実行する必要があり、場合によっては同時に実行する必要があります。基本的に、これは表示するデータの生成とキャッシュに関するものです。UI とバックグラウンド サービスの両方がこのデータを必要とします。
現在、メソッドの実行を通常の SQLite トランザクションにマップする ORMLite トランザクションにラップしています。しかし、ある日、何らかの競合状態によってデータ キャッシュが台無しになったときに、これが私を苦しめることになるのではないかと心配しています。
質問: SQLite トランザクションは同時実行から私を保護しますか、それとも、ジェネレーター メソッドが開始するときに生成される、またはジェネレーター メソッドが既に実行されている場合はブロックする、ある種のワーカー スレッドを実装する必要がありますか?
アップデート:
高レベルの Java メソッドを保護するために、SQLite ロジックに依存しないことにしました。解決策は次のとおりです。
- メソッドの生成部分をラップします
synchronized
- メソッドを最後に実行した時間を追跡する変数を導入します (メソッドの最後に設定されるため、実行 END のマーカーになります)。
- セクションの最初に
synchronized
、最後の実行が特定のしきい値内にあるかどうかを確認します (たとえば、過去に <= 100 ミリ秒)。- はいの場合、世代をスキップします
- いいえの場合、生成を実行します
この方法では、メソッドが 2 つのスレッドから同時にアクセスされると、最初のスレッドは生成されますが、2 番目のスレッドは生成されないため、重複生成は発生しません。ここで私にとって最も重要な部分は、メソッドがまだブロックされているということです。これは、両方のスレッドが、メソッドを呼び出した後に発生した生成に依存しているためです。
android - AndroidでBLOBとして保存されたORMLiteと画像
そのため、最近、作成中の Android タブレット アプリケーションでデータベースを ORMLite に切り替えました。これまでのところ、ほとんどのものがリファクタリング/再コーディングされています。データベースに元々BLOBとして保存されていたものに問題がありますが。私の元のデータモデルでは、次のようになりました。
しかし、ORMLiteでそれを使用できるとは思わないので、文字列でなければならないことがわかりました。
しかし今、私はこれらのデータビットをバイトなどとして読み書きする方法について混乱しています...私はデータベースとの間でデータをやり取りするために次のようなコードを使用していました:
それで、私は画像を保存していましたが、ORMLiteにBLOBがなく、文字列を使用する必要がある場合、これを行う方法がわかりませんか?
完全を期すために、これは私が画像を表示する方法です:
では、これらの画像をデータベースに出し入れするにはどうすればよいでしょうか。文字列のフィールド タイプは「ブロブ」に適していますか?
java - カレンダー.YEAR、.MONTH、DAY_OF_MONTHがdate.getDay()などと異なりますか?
私はこれに気づきました:
この:
異なる数を生成します、私が欠けているいくつかの初期化はありますか?ORMLiteを使用していて、Dateオブジェクトであるデータベースに日付を格納しようとしているので気になりますが、Dateは非推奨になっているため、Calendarを使用しようとしていますが、上記のコードの結果はそれほど単純ではないようです。日、月、年ごとに異なる回答。
ormlite - ORMLite での dao.createOrUpdate() の結果
ORMLite のdao.createOrUpdate()
メソッドが実際にテーブルの行を作成または更新したかどうかを調べることは可能でしょうか。これらの情報を含む結果オブジェクト ( CreateOrUpdateStatus
) がありますが、すべての指示フィールド ( created
、updated
およびnumLinesChanged
) はパッケージのみで表示されます。それはバグですか、それともその理由を誰かが知っていますか?
ありがとう。