我是Kotlin的新手,我希望將我的java模型類與數據類進行轉換,這有可能嗎?我的意思是Ormlite是否支持這個?Kotlin 100%支持Ormlite嗎? (Data classes)
2
A
回答
2
我將我的daos正常上課沒有問題
import com.j256.ormlite.field.DatabaseField
import com.j256.ormlite.table.DatabaseTable
@DatabaseTable(tableName = HabitDao.TABLE)
class HabitDao() {
companion object {
const val TABLE = "habitdao"
const val ORDER = "order"
const val ID = "id"
}
@DatabaseField(columnName = ID, generatedId = true)
var id: Int = 0
@DatabaseField(index = true)
lateinit var title: String
@DatabaseField
lateinit var intention: String
@DatabaseField(columnName = ORDER)
var order: Int = 0
constructor(title: String, intention: String) : this() {
this.title = title
this.intention = intention
}
override fun toString(): String {
return title
}
}
你只需要提供空構造函數(見一個類定義)。此外,lateinit使屬性稍後更易於使用。
編輯:當您需要序列化這些對象時,數據類似乎添加了很有用的功能。 Ormlite能夠處理正常的a.k.a. Java類,因此不需要這樣做。此外,數據類預計包含構造函數中的所有字段,並且不希望id字段在該處存在。
0
不,ORMLite不能與Kotlin數據類(版本1.1.2以上)一起使用,因爲ORMLite要求使用@DatabaseField
註釋字段,這對於使用數據類語法聲明的字段是不可能的。
1
我用OrmLite和Kotlin的數據類沒有問題。關鍵是要爲所有字段指定默認值,然後科特林生成一個空的構造的數據類:
@DatabaseTable(tableName = "sample_table")
data class SampleRecord(
@DatabaseField(id = true)
var id: String? = null,
@DatabaseField(canBeNull = false)
var numField: Int? = null,
@DatabaseField
var strField: String = "",
@DatabaseField
var timestamp: Date = Date()
)
相關問題
- 1. ORMLITE是否支持SQL EXISTS?
- 2. Kotlin支持@ColorInt Java註釋
- 3. ServiceStack在英國的OrmLite和DateTimeOffset支持
- 4. OrmLite是否支持MetadataType屬性?
- 5. SQL Server特定類型支持OrmLite
- 6. Spring Red Data支持Redis BRPOPLPUSH
- 7. Spring Data MongoDB BigDecimal支持
- 8. Spring Data Jpa不支持Groupby
- 9. Gradle kotlin不支持的方法Dependencies.getAtoms()
- 10. Spring Data支持同時查詢多個模式的數據嗎?
- 11. Spring data select top 100
- 12. 你支付Subversion支持嗎?
- 13. 支持<input .. formenctype =「multipart/form-data」>
- 14. 對Apache Geode(spring-data-geode)的Spring支持
- 15. ClojureScript中的multipart/form-data支持
- 16. spring-data-redis是否支持redis集羣?
- 17. Azure是否支持Microsoft Data Services?
- 18. spring data redis集羣管道支持
- 19. 示例服務器支持100-繼續
- 20. 支持HTTP 100繼續使用PHP
- 21. Appcelerator是否支持JQuery和CSS3 100%
- 22. GWT支持Javapaces嗎?
- 23. Android支持SNMP嗎?
- 24. Robotium支持OpenGL嗎?
- 25. Wix3.5支持VS2010嗎?
- 26. GWT支持Deque嗎?
- 27. emfield支持iTunes嗎?
- 28. PlayBook支持GWT嗎?
- 29. SlimBox2支持PNG嗎?
- 30. OpenVswitch支持BFD嗎?
我JPA試了一下,它不與科特林工作得非常好,這裏是我的問題:http://stackoverflow.com/questions/32038177/kotlin-with-jpa-default-constructor-hell。雖然不知道Ormlite,但如果它確實會很高興。 – hotkey
你能解釋一下Ormlite如何使用類?它構造它們,如果是這樣,它需要一個空的默認構造函數?你嘗試過一個實驗嗎? –