草庐IT

android - 自动删除 ORMLite 中的嵌套对象

我有这些要上课:publicclassStation{@DatabaseField(foreign=true,foreignAutoCreate=true)privateOpeningTimesopeningTimes;}publicclassOpeningTimes{@DatabaseField(generatedId=true)int_id;}现在,当我在StationDao上调用createOrUpdate方法时,自动创建OpeningTimes行。太好了!如果我能自动删除Station对象及其嵌套对象OpeningTimes,我将不胜感激。现在我必须在Station类中这样做,

android - 使用 ORMLITE 在 Android 中的多个查询条件

我想做一个有多个条件的简单查询我使用OrmLite来映射实体对象。现在我想在我的表中搜索一个对象。假设我有一个映射PERSON表的Person实体,我想做的是用一些参数初始化一个对象并搜索它。假设一个函数searchPerson(PersonoPerson)如果我像这样传递一个对象OPersonId=nullName=JohnAge=nullSex=male是否可以编写查询来实现该目标?像这样的伪代码pers=(frompindb.Table()where(ifOPerson.Id!=null)p.Id==OPerson.Id}AND{(ifOPerson.Name!=null)p.N

android - 在使用 ORMLite 和 Android 时,是否有一种简单的方法来添加上次修改的时间戳?

我想添加一个字段,指示我的对象的上次修改或上次访问时间。是否有一种简单的自动刷新方法可以做到这一点? 最佳答案 我不确定如何使用SQLite来支持最后修改的时间戳。然而,ORMLite的特征之一是一个版本字段。您可以使用version=true标记一个Date字段,每次更新时,它都会将Date更新为最新值。有关详细信息,请参阅文档:http://ormlite.com/docs/version-field所以你要在你的类中添加如下内容:@DatabaseField(version=true)DatemodificationDate;

c# - ORMLite 下的 SQLite 不允许在事务完成后执行任何操作

在我通过ServiceStack的OrmLite在SQLite中创建并提交事务后,我无法继续发出任何查询。例如,以下测试失败:[Test,Explicit]publicvoidCan_query_after_transaction_is_committed(){varconnection=newOrmLiteConnectionFactory(":memory:",false,SqliteDialect.Provider,true);using(vardb=connection.OpenDbConnection()){db.DropAndCreateTable();vartrans=d

android - 如何有效地使用 ormlite 在 android sqlite 数据库中插入批量数据

我试图一次在androidsqlite数据库中插入100000条记录。我正在使用以下两种不同的方法。privatevoidbulkInsertDataBySavePoint(finalListusers){log.debug("bulkInsertDataBySavePoint()");DatabaseConnectionconn=null;Savepointsavepoint=null;try{conn=userDao.startThreadConnection();savepoint=conn.setSavePoint("bulk_insert");for(Useruser:use

Android:SQLite (ORMLite) 事务隔离级别

我在我的Android项目中使用ORMLite。我知道Sqlite负责文件级锁定。许多线程可以读,一个可以写。锁防止不止一次写入。任何人都可以解释一下如果一个线程正在更新某些记录而另一个线程正在尝试读取该记录会发生什么情况?线程(试图读取)会得到过时的数据吗?或者它会被锁定直到第一个线程完成它的写操作吗?据我所知,有4个事务隔离级别:可序列化、可重复读取、已提交读取、未提交读取。有没有办法在SQLite或ORMLite中更改它? 最佳答案 SQLite有5个不同的锁级别-http://www.sqlite.org/lockingv3

java - Android 的 ORMLite 示例无法编译

我一直在努力完成HelloAndroidORMLite的示例但未能成功编译。我在使用DatabaseHelper类时遇到问题。特别是getDao()方法:/***ReturnstheDatabaseAccessObject(DAO)forourSimpleDataclass.*Itwillcreateitorreturnthecachedvalue.*/publicDaogetDao()throwsSQLException{if(simpleDao==null){simpleDao=getDao(SimpleData.class);}returnsimpleDao;}这是我收到的编译时

java - 如何在 OrmLite 中创建 sqlite 准备语句?

是否可以在OrmLite中创建sqlite准备语句?如果是这样,如何绑定(bind)可能在不同查询中发生变化的查询值。 最佳答案 IsitpossibletocreateasqlitepreparedstatementinOrmLite?您需要RTFM,因为ORMLite的onlinedocumentation相当广泛。如果您在索引中查找"preparedstatement"您会发现@Egor指出的QueryBuilder。howtobindthequeryvalueswhichmaychangeacrossdifferentque

android - Ormlite Android 批量插入

谁能解释为什么我的插入在Ormlite中花费了这么长时间?在桌面上的一个sqlite事务中执行1,700次插入只需不到一秒钟。但是,当使用Android版Ormlite时,大约需要70秒,我可以在调试消息中看到每个插入。当我尝试将插入内容打包到一个事务中时,它以完全相同的速度进行。我知道Android和Ormlite都有开销,但是,我不希望它有那么大。我的代码如下:this.db=newDatabaseHelper(getApplicationContext());dao=db.getAddressDao();finalBufferedReaderreader=newBufferedR

android - ormlite 读取日期为 'yyyy-MM-dd'

我需要读取给我的sqlite数据库,所以我无法更改表格中的日期格式(yyyy-MM-dd)。当我尝试使用ormlite为我生成对象时,使用以下注释:@DatabaseField(columnName="REVISION_DATE",dataType=DataType.DATE_STRING)publicDaterevisionDate;它给我以下错误:java.sql.SQLException:Problemswithcolumn3parsingdate-string'2012-05-01'using'yyyy-MM-ddHH:mm:ss.SSSSSS'有什么地方可以告诉ormlite