Skip to content

Most visited

Recently visited

navigation
added in version 1.0.0
belongs to Maven artifact android.arch.persistence.room:common:1.0.0

RoomWarnings

public class RoomWarnings
extends Object

java.lang.Object
   ↳ android.arch.persistence.room.RoomWarnings


The list of warnings that are produced by Room.

You can use these values inside a SuppressWarnings annotation to disable the warnings.

Summary

Constants

String CANNOT_CREATE_VERIFICATION_DATABASE

Reported when Room cannot verify database queries during compilation.

String CURSOR_MISMATCH

The warning dispatched by Room when the return value of a Query method does not exactly match the fields in the query result.

String DEFAULT_CONSTRUCTOR

Reported when a Pojo has multiple constructors, one of which is a no-arg constructor.

String INDEX_FROM_EMBEDDED_ENTITY_IS_DROPPED

Reported when an Entity that has a Embeddedd field whose type is another Entity and that Entity has some indices defined.

String INDEX_FROM_EMBEDDED_FIELD_IS_DROPPED

Reported when an Entity field that is annotated with Embedded has a sub field which has a ColumnInfo annotation with index = true.

String INDEX_FROM_PARENT_FIELD_IS_DROPPED

Reported when an Entity inherits a field from its super class and the field has a ColumnInfo annotation with index = true.

String INDEX_FROM_PARENT_IS_DROPPED

Reported when an Entity's parent declares an Index.

String MISSING_INDEX_ON_FOREIGN_KEY_CHILD

When there is a foreign key from Entity A to Entity B, it is a good idea to index the reference columns in B, otherwise, each modification on Entity A will trigger a full table scan on Entity B.

String MISSING_JAVA_TMP_DIR

Reported when Room cannot verify database queries during compilation due to lack of tmp dir access in JVM.

String MISSING_SCHEMA_LOCATION

Reported when a `room.schemaLocation` argument is not provided into the annotation processor.

String PRIMARY_KEY_FROM_EMBEDDED_IS_DROPPED

Reported when an Entity field that is annotated with Embedded has a sub field which is annotated with PrimaryKey but the PrimaryKey is dropped while composing it into the parent object.

String RELATION_QUERY_WITHOUT_TRANSACTION

Reported when a @Query method returns a Pojo that has relations but the method is not annotated with @Transaction.

String RELATION_TYPE_MISMATCH

Reported when a Relation Entity's SQLite column type does not match the type in the parent.

Public constructors

RoomWarnings()

Inherited methods

From class java.lang.Object

Constants

CANNOT_CREATE_VERIFICATION_DATABASE

added in version 1.0.0
String CANNOT_CREATE_VERIFICATION_DATABASE

Reported when Room cannot verify database queries during compilation. This usually happens when it cannot find the SQLite JDBC driver on the host machine.

Room can function without query verification but its functionality will be limited.

Constant Value: "ROOM_CANNOT_CREATE_VERIFICATION_DATABASE"

CURSOR_MISMATCH

added in version 1.0.0
String CURSOR_MISMATCH

The warning dispatched by Room when the return value of a Query method does not exactly match the fields in the query result.

Constant Value: "ROOM_CURSOR_MISMATCH"

DEFAULT_CONSTRUCTOR

added in version 1.0.0
String DEFAULT_CONSTRUCTOR

Reported when a Pojo has multiple constructors, one of which is a no-arg constructor. Room will pick that one by default but will print this warning in case the constructor choice is important. You can always guide Room to use the right constructor using the @Ignore annotation.

Constant Value: "ROOM_DEFAULT_CONSTRUCTOR"

INDEX_FROM_EMBEDDED_ENTITY_IS_DROPPED

added in version 1.0.0
String INDEX_FROM_EMBEDDED_ENTITY_IS_DROPPED

Reported when an Entity that has a Embeddedd field whose type is another Entity and that Entity has some indices defined. These indices will NOT be created in the containing Entity. If you want to preserve them, you can re-define them in the containing Entity.

Constant Value: "ROOM_EMBEDDED_ENTITY_INDEX_IS_DROPPED"

INDEX_FROM_EMBEDDED_FIELD_IS_DROPPED

added in version 1.0.0
String INDEX_FROM_EMBEDDED_FIELD_IS_DROPPED

Reported when an Entity field that is annotated with Embedded has a sub field which has a ColumnInfo annotation with index = true.

You can re-define the index in the containing Entity.

Constant Value: "ROOM_EMBEDDED_INDEX_IS_DROPPED"

INDEX_FROM_PARENT_FIELD_IS_DROPPED

added in version 1.0.0
String INDEX_FROM_PARENT_FIELD_IS_DROPPED

Reported when an Entity inherits a field from its super class and the field has a ColumnInfo annotation with index = true.

These indices are dropped for the Entity and you would need to re-declare them if you want to keep them. Alternatively, you can set inheritSuperIndices() to true.

Constant Value: "ROOM_PARENT_FIELD_INDEX_IS_DROPPED"

INDEX_FROM_PARENT_IS_DROPPED

added in version 1.0.0
String INDEX_FROM_PARENT_IS_DROPPED

Reported when an Entity's parent declares an Index. Room does not automatically inherit these indices to avoid hidden costs or unexpected constraints.

If you want your child class to have the indices of the parent, you must re-declare them in the child class. Alternatively, you can set inheritSuperIndices() to true.

Constant Value: "ROOM_PARENT_INDEX_IS_DROPPED"

MISSING_INDEX_ON_FOREIGN_KEY_CHILD

added in version 1.0.0
String MISSING_INDEX_ON_FOREIGN_KEY_CHILD

When there is a foreign key from Entity A to Entity B, it is a good idea to index the reference columns in B, otherwise, each modification on Entity A will trigger a full table scan on Entity B.

If Room cannot find a proper index in the child entity (Entity B in this case), Room will print this warning.

Constant Value: "ROOM_MISSING_FOREIGN_KEY_CHILD_INDEX"

MISSING_JAVA_TMP_DIR

added in version 1.0.0
String MISSING_JAVA_TMP_DIR

Reported when Room cannot verify database queries during compilation due to lack of tmp dir access in JVM.

Constant Value: "ROOM_MISSING_JAVA_TMP_DIR"

MISSING_SCHEMA_LOCATION

added in version 1.0.0
String MISSING_SCHEMA_LOCATION

Reported when a `room.schemaLocation` argument is not provided into the annotation processor. You can either set exportSchema() to false or provide `room.schemaLocation` to the annotation processor. You are strongly adviced to provide it and also commit them into your version control system.

Constant Value: "ROOM_MISSING_SCHEMA_LOCATION"

PRIMARY_KEY_FROM_EMBEDDED_IS_DROPPED

added in version 1.0.0
String PRIMARY_KEY_FROM_EMBEDDED_IS_DROPPED

Reported when an Entity field that is annotated with Embedded has a sub field which is annotated with PrimaryKey but the PrimaryKey is dropped while composing it into the parent object.

Constant Value: "ROOM_EMBEDDED_PRIMARY_KEY_IS_DROPPED"

RELATION_QUERY_WITHOUT_TRANSACTION

added in version 1.0.0
String RELATION_QUERY_WITHOUT_TRANSACTION

Reported when a @Query method returns a Pojo that has relations but the method is not annotated with @Transaction. Relations are run as separate queries and if the query is not run inside a transaction, it might return inconsistent results from the database.

Constant Value: "ROOM_RELATION_QUERY_WITHOUT_TRANSACTION"

RELATION_TYPE_MISMATCH

added in version 1.0.0
String RELATION_TYPE_MISMATCH

Reported when a Relation Entity's SQLite column type does not match the type in the parent. Room will still do the matching using String representations.

Constant Value: "ROOM_RELATION_TYPE_MISMATCH"

Public constructors

RoomWarnings

added in version 1.0.0
RoomWarnings ()

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)