Android. Библиотека Room
Работаю с базой данных с помощью библиотеки Room, создал две таблицы и реализовал CRUD методы. Но при получении элемента по идентификатору из таблицы Questions всегда возвращается null, но в ней хранятся элементы. А с таблицей Tickets все в порядке. Не знаете в чем может быть проблема и как ее решить ?
Таб. билеты:
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.Ignore;
import androidx.room.PrimaryKey;
@Entity(tableName = "tickets")
public class Ticket {
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "ticket_id")
private long id;
@ColumnInfo(name = "ticket_status")
private String status;
@Ignore
public Ticket() {
}
public Ticket(long id, String status) {
this.id = id;
this.status = status;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
Таб. вопросы:
Entity(tableName = "questions")
public class Question {
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "question_id")
private long id;
@ColumnInfo(name = "number_ticket")
private String number_ticke;
@ColumnInfo(name = "question_text")
private String question;
@ColumnInfo(name = "question_status")
private String status;
@ColumnInfo(name = "question_answer")
private String answer;
@Ignore
public Question(){
}
public Question(long id, String number_ticke, String question, String status, String answer) {
this.id = id;
this.number_ticke = number_ticke;
this.question = question;
this.status = status;
this.answer = answer;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getNumber_ticke() {
return number_ticke;
}
public void setNumber_ticke(String number_ticke) {
this.number_ticke = number_ticke;
}
public String getQuestion() {
return question;
}
public void setQuestion(String question) {
this.question = question;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
}
DAO Ticket:
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;
import com.example.examenatorproject.Model.Ticket;
import java.util.List;
@Dao
public interface TicketDAO {
@Insert
public long addTicket(Ticket ticket);
@Update
public void updateTicket(Ticket ticket);
@Delete()
public void deleteTicket(Ticket ticket);
@Query("select * from tickets")
public List<Ticket> getAllTickets();
@Query("select * from tickets where ticket_id ==:ticketId ")
public Ticket getTicket(long ticketId);
}
DAO Question:
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;
import com.example.examenatorproject.Model.Question;
import com.example.examenatorproject.Model.Ticket;
import java.util.List;
@Dao
public interface QuestionDAO {
@Insert
public long addQuestion(Question question);
@Update
public void updateQuestion(Question question);
@Delete()
public void deleteQuestion(Question question);
@Query("select * from questions")
public List<Question> getAllQuestions();
@Query("select * from questions where question_id ==:questionId ")
public Question getQuestion(long questionId);
}
Фрагмент кода:
Question q = Utils.questionAppDatabase.getQuestionDAO().getQuestion(iid);
Ticket t = Utils.ticketAppDatabase.getTicketDAO().getTicket(iid);
