gpt4 book ai didi

android - 如何使用 ORMLite 正确注释继承类?

转载 作者:IT王子 更新时间:2023-10-29 06:25:41 27 4
gpt4 key购买 nike

我正在尝试将继承与 ORMLite 一起使用,但我无法通过查看文档和谷歌搜索来判断它是否受支持。

我想做的就是拥有

public abstract class Person{
public int id;
public String name;
}

public class Student extends Person{
public String school;
public String year;
// other student stuff
}

public class Teacher extends Person{
public String title;
// other teacher stuff
}

我无法解决(假设支持)的是如何为 ORMLite 注释 3 个类。

我只需要用 @DatabaseTable(tableName = "Student") 注释具体类还是还需要抽象类?

我不断收到如下错误:

04-24 10:18:30.857: E/AndroidRuntime(30495): Caused by: java.lang.RuntimeException: java.sql.SQLException: Unknown field 'name' from the Android sqlite cursor, not in:[year, school]

最佳答案

@DatabaseTable 注释仅在 StudentTeacher 表上是必需的,如果它在 上则不会被使用Person 基类。

您需要在 Person 中的 idname 字段上添加一个 @DatabaseField 注释。例如:

public abstract class Person{
@DatabaseField(generatedId = true)
public int id;
@DatabaseField
public String name;
}

ORMLite应该遍历类层次结构,并且来自基类的任何字段都应该包含在 StudentTeacher 表中。如果您编辑问题以显示 @DatabaseField 或其他注释,我可以发表更多评论。

关于android - 如何使用 ORMLite 正确注释继承类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10290207/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com