Android房间代码,android – 具有一对一关系的房间数据库

我有2个实体,硬币和CoinRevenue.

基本上,硬币以其他货币持有美元价格.

例如,带符号EUR的硬币,值为1.0356

@Entity(tableName = "coin")

data class Coin(

@field:PrimaryKey(autoGenerate = false)

var id: String = "",var symbol: String = "",var pricInUsd: Float = 0f)

CoinRevenue是一个实体,我用它来保存用户拥有的特定硬币的硬币数量.

例如,CoinRevenue与Coin Entity有关,EUR符号和金额为1000.

@Entity(tableName = "coinRevenue")

data class CoinRevenueNew(

@field:PrimaryKey(autoGenerate = true)

var id: Int = 0,var coin: Coin? = null,var amount: Float = 0f)

现在我想从数据库中获取CoinRevenue并从数据库中获取更新的Coin.

例如,我用(EUR,1.0253)保存了硬币

而且用这枚硬币保存了一枚CoinRevenue.

之后我更新了硬币(EUR,2.522)

我希望CoinRevenue中的Coin对象也会更新.

我知道@Embedded只是将内部objet字段作为列添加到同一个父对象.

当我使用关系时,我必须使用List或Set.

但我在CoinRevenue里总是有1枚硬币.

我的硬币DA:

@Query("select * from coin order by rank")

fun getAllCoins(): Flowable>

@Query("select * from coin where rank = 1")

fun getFirstCoin(): Maybe

@Query("select * from coin where favourite = 1 order by rank")

fun getAllFavouriteCoins(): Flowable>

@Insert(onConflict = OnConflictStrategy.REPLACE)

fun insertCoin(coinDB: CoinDB)

@Insert(onConflict = OnConflictStrategy.REPLACE)

fun insertCoins(coinsList: List)

// -----------------

// CoinRevenue

// -----------------

@Query("select * from coinRevenue order by rank")

fun getAllCoinsRevenue(): Flowable>

@Insert(onConflict = OnConflictStrategy.REPLACE)

fun insertCoinRevenue(coinRevenue: CoinRevenue)

@Delete()

fun deleteCoinRevenue(coinRevenue: CoinRevenue)

创造这个的最好方法是什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值